web-dev-qa-db-fra.com

Liste de tuple de dict dans Python

Comment puis-je obtenir une liste de tuples de valeur-clé à partir d'un dict en Python?

40
Manuel Aráoz

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())
70
Andrew Keeton

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
8
Triptych

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 .

5
Leonardo

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).

5
Alex Martelli