>  기사  >  백엔드 개발  >  Python은 3.7 이전 버전에서 사전 키 순서를 어떻게 처리했습니까?

Python은 3.7 이전 버전에서 사전 키 순서를 어떻게 처리했습니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-11 17:48:02886검색

How did Python handle dictionary key order in versions before 3.7?

이전 Python 버전 사전의 키 순서

Python 3.7 이전 버전에서 key() 메서드를 사용하여 사전의 키를 검색할 때, 반환된 목록의 키는 임의적으로 나타날 수 있습니다. 이러한 예측 불가능성은 Python이 이전 버전에서 사전을 처리한 방식에서 비롯됩니다.

Python 3.7

Python 3.7부터 사전은 기본적으로 삽입 순서를 유지합니다. 이는 키() 출력 목록의 키가 사전에 삽입된 순서와 일치한다는 것을 의미합니다.

Python 3.6(CPython)

Python 3.6(특히 CPython 구현) ), 사전도 기본적으로 게재 순서 보존을 사용합니다. 그러나 이는 구현 세부 사항으로 간주되며 다양한 Python 구현에서 안정성이 보장되지 않습니다.

Python >=2.7 및 <3.6

2.7과 3.6 사이의 Python 버전의 경우, key() 목록의 키 순서는 해시 함수에 의해 결정됩니다. 이 해시 함수는 안정성이 보장되지 않으므로 동일한 입력 데이터라도 실행마다 키 순서가 다를 수 있습니다.

이전 버전의 Python에서 삽입 순서를 보장하려면 컬렉션을 사용해야 합니다. OrderedDict 클래스. 이 클래스는 키가 삽입된 순서대로 검색되도록 보장합니다.

import collections

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

print(l)  # Output: ['a', 'b', 'c']

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

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