2009-08-18 10 views

Odpowiedz

6

o listę krotek:

my_dict.items() 

Jeśli wszystko robisz jest iteracja nad elementami, jednak , często lepiej jest użyć dict.iteritems(), która jest bardziej wydajna pod względem pamięci, ponieważ zwraca tylko jeden element na raz, a nie wszystkie elementy na raz:

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

pętlę for można użyć do sporządzenia listy lub generatora. – geowa4

5

W języku Python 2.*, thedict.items(), jak w odpowiedzi @ Andrew. W języku Python 3.*, list(thedict.items()) (ponieważ tam items jest po prostu widokiem iteracyjnym, a nie listą, należy jednoznacznie wywołać na nim list, jeśli potrzebna jest dokładna lista).

+0

Meh, nie jestem pewien, czy to lubię ... ale dzięki za napiwek. –

+0

@Andrew - w zasadzie jest tak, że w Pythonie 3+ zachowanie dict.items() zmieni się, aby dopasować zachowanie dict.iteritems(), jak opisałem je w moim poście. – Triptych

+0

@ Triptych Po prostu narzekałem, że zdecydowali się, aby iterator był domyślnym widokiem. –

-2

Pythona> 2,5:

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

to płaska lista wartości , nie lista krotek (klucz, wartość), o które pytał plakat – Anentropic

3

Konwersja dict do list jest łatwe w Pythonie. Trzy przykłady:

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

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

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

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

jak widać w poprzedniej odpowiedzi, Converting Python Dictionary to List.