로부터 파이썬 3.7 변경 내역 :
dict 객체 의 삽입 순서 보존 특성은 Python 언어 사양의 공식 부분 으로 선언되었습니다 .
이것이 OrderedDict
중복 된다는 것을 의미 합니까? 내가 생각할 수있는 유일한 용도는 일반 사전의 삽입 순서를 유지하지 않는 이전 버전의 Python과 역 호환성을 유지하는 것입니다.
답변
아니요 , 삽입 순서를 유지 OrderedDict
하는 dict
것뿐만 아니라 순서 종속 메서드를 제공하고 반복 *을 OrderedDict.move_to_end()
지원 하기 때문에 Python 3.7에서는 중복 되지 않습니다 reversed()
.
또한와의 동등 비교 OrderedDict
는 순서에 민감하며 dict
Python 3.7에서는 여전히 그렇지 않습니다. 예를 들면 다음과 같습니다.
>>> OrderedDict([(1,1), (2,2)]) == OrderedDict([(2,2), (1,1)])
False
>>> dict([(1,1), (2,2)]) == dict([(2,2), (1,1)])
True
* reversed()
일반 Python 반복 지원 dict
이 Python 3.8에 추가되었습니다. issue33462를 참조 하세요.