Оновлення: станом на Python 3.7 порядок вставки підтримується, тому тут вам не потрібно OrderedDict
. Наведені нижче підходи можна використовувати із звичайнимdict
Змінено у версії 3.7: Порядок словника гарантується порядком вставки. Така поведінка була детальною інформацією про реалізацію CPython від 3.6.
джерело
Python 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.