Lista de tuplas de dict en Python

¿Cómo puedo obtener una lista de tuplas de valor clave de un dict en Python?

Solo para Python 2.x (gracias Alex):

yourdict = {} # ... items = yourdict.items() 

Consulte http://docs.python.org/library/stdtypes.html#dict.items para obtener más información.

Solo para Python 3.x (tomado de la respuesta de Alex ):

 yourdict = {} # ... items = list(yourdict.items()) 

Para una lista de tuplas:

 my_dict.items() 

Sin embargo, si todo lo que está haciendo es iterar sobre los elementos, a menudo es preferible usar dict.iteritems() , que es más eficiente en memoria porque devuelve solo un elemento a la vez, en lugar de todos los elementos a la vez:

 for key,value in my_dict.iteritems(): #do stuff 

En Python 2.* , thedict.items() , como en la respuesta de @ Andrew. En Python 3.* , list(thedict.items()) (dado que los items son solo una vista iterable, no una lista, debe llamar a la list de forma explícita si necesita exactamente una lista).

Convertir de dict a list es fácil en Python. Tres ejemplos:

 d = {'a': 'Arthur', 'b': 'Belling'} d.items() [('a', 'Arthur'), ('b', 'Belling')] d.keys() ['a', 'b'] d.values() ['Arthur', 'Belling'] 

como se vio en una respuesta anterior, Convertir el diccionario de Python en lista .

Para Python> 2.5:

 a = {'1' : 10, '2' : 20 } list(a.itervalues())