콘텐츠로 건너뛰기

파이썬에서 값으로 정렬된 사전 사용하기

[

Python을 사용한 정렬된 사전 (sorted dictionary) 만들기

정렬된(key-value) 사전(sorted dictionary)을 만들고 싶지만, 예상한 결과를 얻지 못했을 수 있습니다. 이 튜토리얼에서는 Python에서 사전을 정렬하는 모든 방법에 대해 배우게 될 것입니다. 아래는 이 튜토리얼에서 다룰 내용입니다.

이 튜토리얼에서는 다음을 배울 수 있습니다:

  • sorted() 함수 사용 방법 검토하기
  • 사전(view)을 사용하여 이터레이션(iteration)하는 방법 배우기
  • 정렬 과정에서 사전이 리스트로 캐스팅되는 방법 이해하기
  • 값을, 키를 또는 중첩된 속성을 기준으로 사전을 정렬하는 방법 지정하기
  • 사전 내용을 재구성하기 위한 사전 기법(comprehension)과 dict() 생성자(constructor) 검토하기
  • 키-값 데이터에 대한 다른 데이터 구조 고려하기

이 튜토리얼을 통해 코드를 시간 측정(timeit)하고 다양한 키-값 정렬 방법을 비교하여 구체적인 결과를 얻게 될 것입니다. 또한 정렬된 사전이 정말로 가장 좋은 옵션인지 고려할 것입니다. 정렬된 사전은 특히 흔한 패턴은 아닙니다.

처음으로 사전을 정렬하기 전에 몇 가지 기본 지식을 배우겠습니다.

Python에서의 사전 순서 복구

이전에 정렬된 사전을 데이터 구조로 유지하려면 리스트와 튜플과 같은 순서가 있는 객체를 사용해야 했습니다. 하지만 Python 3.7부터는 사전이 삽입된 순서대로 유지되므로 추가 작업없이 기본 사전을 정렬할 수 있게 되었습니다. 이는 새로운 기능이지만 모든 Python 구현에서 정렬된 사전에 의존하도록 믿을 수 없습니다.

그러므로 만약 정렬된 사전이 필요하다면 내장함수 sorted()를 사용하여 사전의 키 값(key value)을 정렬할 수 있습니다. sorted() 함수는 사전과 함께 사용될 때 사전의 키 값(key value)을 정렬된 리스트로 반환합니다.

다음으로 sorted() 함수를 사용하여 사전을 정렬하는 방법에 대해 살펴보겠습니다.