2014-10-30 15 views
74

Tôi muốn đầu ra các cặp giá trị quan trọng của tôi từ một cuốn từ điển python như vậy:Làm thế nào để in các cặp khóa-giá trị của một từ điển trong python

key1 \t value1 
key2 \t value2 

tôi nghĩ rằng tôi có thể có thể làm điều đó như thế này:

for i in d: 
    print d.keys(i), d.values(i) 

nhưng rõ ràng đó không phải là cách nó đi như keys()values() không mất một cuộc tranh cãi ...

Cảm ơn.

+0

thể trùng lặp của [Python: làm thế nào để in chìa khóa của một từ điển] (http://stackoverflow.com/questions/5904969/python-how-to-print- a-dictionarys-key) –

Trả lời

134

mã hiện tại của bạn chỉ cần một chút tinh chỉnh. i phím, do đó bạn sẽ chỉ cần sử dụng nó:

for i in d: 
    print i, d[i] 

Bạn cũng có thể nhận được một iterator có chứa cả khóa và giá trị. Trong Python 2, d.items() trả về một danh sách (key, value) tuples, trong khi d.iteritems() trả về một iterator cung cấp giống nhau:

for k, v in d.iteritems(): 
    print k, v 

bằng Python 3, d.items() trả về iterator; để có được một danh sách, bạn cần phải vượt qua vòng lặp tới số list().

for k, v in d.items(): 
    print(k, v) 
2
for key, value in d.iteritems(): 
    print key, '\t', value 
9

Hoặc, cho Python 3:

for k,v in dict.items(): 
    print(k, v) 
1
>>> d={'a':1,'b':2,'c':3} 
>>> for kv in d.items(): 
...  print kv[0],'\t',kv[1] 
... 
a 1 
c 3 
b 2 
26

Một giới thiệu chút vào từ điển

d={'a':'apple','b':'ball'} 
d.keys() # displays all keys in list 
['a','b'] 
d.values() # displays you values in list 
['apple','ball'] 
d.items() # displays you pair tuple of key and value 
[('a','apple'),('b','ball') 

phím in ấn, đánh giá cao phương pháp một

for x in d.keys(): 
    print x +" => " + d[x] 

Một phương pháp

for key,value in d.items(): 
    print key + " => " + value 

Bạn có thể lấy key sử dụng iter

>>> list(iter(d)) 
['a', 'b'] 
0

Ngoài cách đã đề cập .. có thể sử dụng 'viewitems', 'viewkeys', 'viewvalues'

>>> d = {320: 1, 321: 0, 322: 3} 
>>> list(d.viewitems()) 
[(320, 1), (321, 0), (322, 3)] 
>>> list(d.viewkeys()) 
[320, 321, 322] 
>>> list(d.viewvalues()) 
[1, 0, 3] 

Hoặc

>>> list(d.iteritems()) 
[(320, 1), (321, 0), (322, 3)] 
>>> list(d.iterkeys()) 
[320, 321, 322] 
>>> list(d.itervalues()) 
[1, 0, 3] 

hoặc sử dụng itemgetter

>>> from operator import itemgetter 
>>> map(itemgetter(0), dd.items())  #### for keys 
['323', '332'] 
>>> map(itemgetter(1), dd.items())  #### for values 
['3323', 232] 
0

Bạn có thể truy cập khóa và/hoặc giá trị của mình bằng cách gọi ing mục() trên từ điển của bạn.

for key, value in d.iteritems(): 
    print(key, value) 
1

Nếu bạn muốn loại đầu ra bằng phím dict bạn có thể sử dụng bộ sưu tập gói.

import collections 
for k, v in collections.OrderedDict(sorted(d.items())).items(): 
    print(k, v) 

Nó hoạt động trên python 3

Các vấn đề liên quan