Comment puis-je obtenir une liste de tuples de valeur-clé à partir d'un dict en Python?
Pour Python 2.x uniquement (merci Alex):
yourdict = {}
# ...
items = yourdict.items()
Voir http://docs.python.org/library/stdtypes.html#dict.items pour plus de détails.
Pour Python 3.x uniquement (extrait de réponse d'Alex ):
yourdict = {}
# ...
items = list(yourdict.items())
Pour une liste de tuples:
my_dict.items()
Si tout ce que vous faites est d'itérer sur les éléments, cependant, il est souvent préférable d'utiliser dict.iteritems()
, qui est plus efficace en mémoire car il ne renvoie qu'un seul élément à la fois, plutôt que tous les éléments à la fois:
for key,value in my_dict.iteritems():
#do stuff
La conversion de dict
en list
est facilitée en Python. Trois exemples:
d = {'a': 'Arthur', 'b': 'Belling'}
d.items() [('a', 'Arthur'), ('b', 'Belling')]
d.keys() ['a', 'b']
d.values() ['Arthur', 'Belling']
comme vu dans une réponse précédente, Conversion de Python Dictionary to List .
Dans Python 2.*
, thedict.items()
, comme dans la réponse de @ Andrew. Dans Python 3.*
, list(thedict.items())
(puisqu'il n'y a items
qu'une vue itérable, pas une liste, vous devez appeler explicitement list
dessus si vous avez besoin exactement d'une liste).