collections.OrderedDict
수업 사용에 문제가 있습니다. Raspberry Pi의 데비안 배포판 인 Raspbian에서 Python 2.7을 사용하고 있습니다. 텍스트 어드벤처를 나란히 비교하기 위해 두 개의 사전을 인쇄하려고합니다. 순서는 정확하게 비교하기 위해 필수적입니다. 내가 무엇을 시도하더라도 사전은 일반적인 순서대로 인쇄됩니다.
내 RPi에서 할 때 얻을 수있는 내용은 다음과 같습니다.
import collections
ship = {"NAME": "Albatross",
"HP":50,
"BLASTERS":13,
"THRUSTERS":18,
"PRICE":250}
ship = collections.OrderedDict(ship)
print ship
# OrderedDict([('PRICE', 250), ('HP', 50), ('NAME', 'Albatross'), ('BLASTERS', 13), ('THRUSTERS', 18)])
분명히 함수 호출을 인쇄하고 키와 값 그룹을 중첩 된 목록에 넣기 때문에 옳지 않은 것이 있습니다 ...
이것은 내 PC에서 비슷한 것을 실행하여 얻은 것입니다.
import collections
Joe = {"Age": 28, "Race": "Latino", "Job": "Nurse"}
Bob = {"Age": 25, "Race": "White", "Job": "Mechanic", "Random": "stuff"}
#Just for clarity:
Joe = collections.OrderedDict(Joe)
Bob = collections.OrderedDict(Bob)
print Joe
# OrderedDict([('Age', 28), ('Race', 'Latino'), ('Job', 'Nurse')])
print Bob
# OrderedDict([('Age', 25), ('Race', 'White'), ('Job', 'Mechanic'), ('Random', 'stuff')])
이번에는 순서가 맞지만 다른 것을 올바르게 인쇄해서는 안됩니까? (목록에 넣고 함수 호출을 보여줍니다.)
오류는 어디에서 발생합니까? 파이썬의 파이 버전과는 아무런 관련이 없습니다. 파이썬은 단지 리눅스 버전이기 때문입니다.
OrderedDict
영숫자 키 순서가 아닌 삽입 순서에 따라 정렬됩니다.