업데이트 : Python 3.7부터 삽입 순서가 유지되므로 OrderedDict
여기 가 필요하지 않습니다 . 아래 방법을 정상으로 사용할 수 있습니다dict
버전 3.7으로 변경 : 사전 순서는 삽입 순서로 보장됩니다. 이 동작은 3.6의 CPython에 대한 구현 세부 사항입니다.
출처
파이썬 3.6 및 이전 버전 *
일반에 대해 이야기하는 dict
경우 "첫 번째 키"는 아무 의미가 없습니다. 키는 어떤 방식 으로든 주문할 수 없습니다. 당신이 당신의 반복을 반복 dict
하면 당신은 "banana"
당신이 보는 첫 번째로 얻을 수 없을 것 입니다.
사물을 순서대로 보관해야하는 경우 OrderedDict
단순한 사전이 아니라을 사용해야합니다 .
import collections
prices = collections.OrderedDict([
("banana", 4),
("apple", 2),
("orange", 1.5),
("pear", 3),
])
그런 다음 모든 키 를 순서대로보고 싶다면 키 를 반복하여 수행 할 수 있습니다
for k in prices:
print(k)
또는 모든 키를 목록에 넣은 다음 해당 키로 작업 할 수 있습니다
ks = list(prices)
print(ks[0]) # will print "banana"
목록을 만들지 않고 첫 번째 요소 를 얻는 가장 빠른 방법 next
은 반복자 를 호출 하는 것입니다. nth
그래도 요소 를 얻으려고 할 때 잘 일반화되지는 않습니다.
>>> next(iter(prices))
'banana'
CPython은 3.6의 구현 세부 사항으로 삽입 순서를 보장했습니다.