사전의 무질서란 데이터가 사전에 저장되는 순서와 사전에서 꺼내는 순서가 일치하지 않음을 의미합니다
Python 2의 사전은 순서가 없습니다
>>> d = {'a':-1,'b':-1,'c':-1}>>> d {'a': -1, 'c': -1, 'b': -1}>>> for k,v in d.items(): ... print k,v ... a -1c -1b -1
그래서 어떻게 해야 할까요? 사전을 정돈해 두나요? OrderedDict를 사용하세요
>>> from collections import OrderedDict >>> d = OrderedDict() >>> d['a'] = 1 >>> d['b'] = 2 >>> d['c'] = 3 >>> d OrderedDict([('a', 1), ('b', 2), ('c', 3)]) >>> for k,v in d.items(): ... print k,v ... a 1 b 2 c 3
그럼 왜 순서가 없나요? 해시 구조에는 헤드 주소가 있고 내부 데이터는 서로 다른 목록 체인에 분산되므로 순서가 없는 것처럼 보입니다. 그러나 동일한 사전 세트의 경우 항상 연결할 식별자가 있으므로 읽을 때 데이터는 순서대로 수집되지만 특정 규칙에 따라 정렬되지는 않습니다.
Python3의 사전은 순서가 지정됩니다
>>> d = {'a':-1,'b':-1,'c':-1} >>> d {'a': -1, 'b': -1, 'c': -1} >>> for k,v in d.items(): ... print(k,v) ... a -1 b -1 c -1
위 내용은 Python 사전이 순서대로 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!