Python 3.6 사전은 순서가 있나요?
Python 버전 3.6 이상에서 사전은 해당 요소에 대한 삽입 순서를 유지합니다. 이 동작을 "삽입 순서"라고 합니다. 고급 순서 관련 기능을 제공하는 OrderedDict와 달리 사전은 요소 삽입 순서만 유지합니다.
Python 3.6이 순서를 유지하면서 사전 성능을 향상시키는 방법
Python 3.6 사전 구현은 삽입을 유지하면서 메모리 효율성을 해결하기 위해 이중 배열 접근 방식을 사용합니다. order.
이 접근 방식은 이전 구현에서는 드물게 채워진 배열이 필요하지 않습니다. 대신 필요한 항목과 해당 인덱스만 저장하므로 메모리 사용량이 더 컴팩트해집니다.
시각적 표현:
다음 사전을 고려하세요.
d = {'timmy': 'red', 'barry': 'green', 'guido': 'blue'}
새로운 구현에서는 저장됩니다. as:
indices = [None, 1, None, None, None, 0, None, 2] entries = [[-9092791511155847987, 'timmy', 'red'], [-8522787127447073495, 'barry', 'green'], [-6480567542315338377, 'guido', 'blue']]
이전 구현에 비해 이 접근 방식은 메모리 낭비를 크게 줄입니다.
새 사전 구현의 이점
주로, 새로운 구현은 삽입 순서를 유지하면서 메모리 사용량을 향상시킵니다. 이전 구현과 새 구현 간의 속도 차이는 크지 않지만 반복 및 크기 조정과 같은 특정 작업에서는 성능이 향상될 수 있습니다.
위 내용은 Python 3.6 사전은 순서가 지정되어 있으며 이것이 성능에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!