>백엔드 개발 >파이썬 튜토리얼 >Python 사전에서 키 순서를 어떻게 유지합니까?

Python 사전에서 키 순서를 어떻게 유지합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-29 09:00:12309검색

How Do You Preserve Key Order in Python Dictionaries?

Python 사전에서 키 순서 유지

이전 버전의 Python에서는 사전의 키 순서를 예측할 수 없는 경우가 많았습니다. 이로 인해 데이터에 액세스할 때 혼란과 일관되지 않은 결과가 발생할 수 있습니다.

사전 키 순서가 결정되는 방식

Python 3.6 이전에는 사전의 키 순서가 다음과 같았습니다. 키의 해시 값에 따라 결정됩니다. 이는 값이 동일하게 유지되더라도 시간이 지남에 따라 키의 순서가 변경될 수 있음을 의미합니다. 예를 들어, 제공한 코드 블록에서

d = {'a': 0, 'b': 1, 'c': 2}
l = d.keys()

print(l)

결과 목록 l의 키 순서는 ['a', 'c', 'b']입니다. 이 순서는 보장되지 않으며 향후 루프 반복에서 변경될 수 있습니다.

키 순서 적용

키 순서가 유지되도록 하려면 여러 접근 방식을 사용합니다. 사용할 수 있습니다:

Python 3.7 및 위

Python 3.7부터 사전은 기본적으로 삽입 순서를 유지합니다. 즉, 보존되는 키의 순서에 의존할 수 있습니다.

Python 3.6(CPython)

Python 3.6의 CPython 구현의 경우 사전도 유지 관리됩니다. 기본적으로 삽입 순서입니다. 그러나 이 동작은 구현에 따라 다르며 다양한 Python 구현에서 보장되지 않습니다.

Python 2.7 및 이전

3.6 이전 Python 버전에서 키 순서를 적용하려면 , collections.OrderedDict 클래스를 사용할 수 있습니다. 이 클래스는 키가 삽입되는 순서를 특별히 유지합니다.

from collections import OrderedDict

d = OrderedDict({'a': 0, 'b': 1, 'c': 2})
print(list(d.keys()))  # Output: ['a', 'b', 'c']

위 내용은 Python 사전에서 키 순서를 어떻게 유지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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