Mise à jour: à partir de Python 3.7, l'ordre d'insertion est maintenu, vous n'avez donc pas besoin d'un OrderedDict
ici. Vous pouvez utiliser les approches ci-dessous avec undict
Modifié dans la version 3.7: l' ordre du dictionnaire est garanti comme étant l'ordre d'insertion. Ce comportement était un détail d'implémentation de CPython à partir de 3.6.
la source
Python 3.6 et versions antérieures *
Si vous parlez d'un habitué dict
, la "première clé" ne veut rien dire. Les clés ne sont pas commandées de quelque manière que ce soit sur laquelle vous pouvez compter. Si vous parcourez votre, dict
vous n'obtiendrez probablement pas "banana"
la première chose que vous voyez.
Si vous devez garder les choses en ordre, vous devez utiliser un OrderedDict
dictionnaire et pas seulement un simple.
import collections
prices = collections.OrderedDict([
("banana", 4),
("apple", 2),
("orange", 1.5),
("pear", 3),
])
Si vous vouliez ensuite voir toutes les clés pour pouvoir le faire en les itérant
for k in prices:
print(k)
Vous pouvez également mettre toutes les clés dans une liste, puis travailler avec
ks = list(prices)
print(ks[0]) # will print "banana"
Un moyen plus rapide d'obtenir le premier élément sans créer de liste serait d'appeler next
l'itérateur. Cela ne se généralise pas bien quand on essaie d'obtenir l' nth
élément
>>> next(iter(prices))
'banana'
* CPython avait garanti l'ordre d'insertion comme détail d'implémentation dans 3.6.