2009-08-18 20 views

risposta

6

Per un elenco di di tuple:

my_dict.items() 

Se tutto quello che stai facendo è iterare sulle voci, comunque , spesso è preferibile utilizzare dict.iteritems(), che è più efficiente in termini di memoria perché restituisce solo un elemento alla volta, anziché tutti gli elementi contemporaneamente:

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

il ciclo for può essere usato per fare una lista di comprensione o un generatore. – geowa4

5

In Python 2.*, thedict.items(), come nella risposta di @ Andrew. In Python 3.*, list(thedict.items()) (dal momento che lo items è solo una visualizzazione iterabile, non un elenco, è necessario chiamare lo list in modo esplicito se è necessario un elenco preciso).

+0

Meh, non sono sicuro che mi piaccia ... grazie per l'informazione, comunque. –

+0

@Andrew - è fondamentalmente che in Python 3+, il comportamento di dict.items(), cambierà per adattarsi al comportamento di dict.iteritems(), come li ho descritti nel mio post. – Triptych

+0

@Triptych Stavo solo borbottando che hanno scelto di rendere l'iteratore la vista predefinita. –

-2

Per Python> 2.5:

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

questo è un elenco di valori , non la lista di tuple (chiave, valore) che il poster stava chiedendo – Anentropic

3

Conversione dict-list è facile in Python. Tre esempi:

d = {'a': 'Arthur', 'b': 'Belling'} 

d.items() [('a', 'Arthur'), ('b', 'Belling')] 

d.keys() ['a', 'b'] 

d.values() ['Arthur', 'Belling'] 

come visto in una risposta precedente, Converting Python Dictionary to List.

Problemi correlati