>백엔드 개발 >파이썬 튜토리얼 >Python 사전에서 정렬되고 순서가 지정된 컬렉션을 어떻게 만들 수 있나요?

Python 사전에서 정렬되고 순서가 지정된 컬렉션을 어떻게 만들 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-12-28 22:28:16722검색

How Can I Create a Sorted, Ordered Collection from a Python Dictionary?

키별로 사전 정렬: 순서가 지정된 컬렉션 획득

Python 3.7의 도입을 제외하면 Python 사전의 본질적인 특성은 순서가 없습니다. (키, 값) 쌍을 정렬하는 것이 해결책으로 나타날 수 있지만 요소를 사전에 다시 저장할 때 정렬된 순서를 유지하는 것은 불가능하다는 점을 인정하는 것이 중요합니다.

다음을 기반으로 정렬된 컬렉션을 원활하게 구축하려면 키 값의 경우 OrderedDict 클래스를 활용하는 것이 최적의 접근 방식으로 널리 사용됩니다. 이 클래스는 해당 요소의 삽입 순서를 유지하는 고유한 능력을 가지고 있습니다.

import collections

d = {2: 3, 1: 89, 4: 5, 3: 0}

# Construct an OrderedDict from sorted key-value pairs
od = collections.OrderedDict(sorted(d.items()))

print(od)  # OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])

od의 인쇄된 표현은 다를 수 있지만 후속 상호 작용 중에 원하는 순서를 유지합니다.

print(od[1])  # 89
print(od[3])  # 0

for k, v in od.items():
    print(k, v)  # 1 89, 2 3, 3 0, 4 5

Python 3 사용자를 위한 고려 사항

Python 3 사용자는 다음을 사용해야 합니다. 호환성 유지를 위해 OrderedDict를 반복할 때 .iteritems() 대신 .items() 메서드:

for k, v in od.items():
    print(k, v)  # 1 89, 2 3, 3 0, 4 5

위 내용은 Python 사전에서 정렬되고 순서가 지정된 컬렉션을 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.