如何在Python中打印字典的键值对
我想从python字典输出我的键值对,如下所示:
key1 \t value1 key2 \t value2
我以为我可以这样做:
for i in d: print d.keys(i), d.values(i)
但显然不是这样的,因为keys()
和values()
不带参数。
谢谢。
你现有的代码只需要一点点的调整。 i
是关键,所以你只需要使用它:
for i in d: print i, d[i]
你也可以得到一个包含键和值的迭代器。 在Python 2中, d.items()
返回(key,value)元组的列表,而d.iteritems()
返回一个提供相同的迭代器:
for k, v in d.iteritems(): print k, v
在Python 3中, d.items()
返回迭代器; 要获得一个列表,你需要将迭代器传递给list()
。
for k, v in d.items(): print(k, v)
字典的一个简介
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')
打印键,值方法一
for x in d.keys(): print x +" => " + d[x]
另一种方法
for key,value in d.items(): print key + " => " + value
您可以使用iter
获取密钥
>>> list(iter(d)) ['a', 'b']
或者,对于Python 3:
for k,v in dict.items(): print(k, v)
for key, value in d.iteritems(): print key, '\t', value
>>> d={'a':1,'b':2,'c':3} >>> for kv in d.items(): ... print kv[0],'\t',kv[1] ... a 1 c 3 b 2
除了已经提到的方式..可以使用“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]
要么
>>> list(d.iteritems()) [(320, 1), (321, 0), (322, 3)] >>> list(d.iterkeys()) [320, 321, 322] >>> list(d.itervalues()) [1, 0, 3]
或使用itemgetter
>>> from operator import itemgetter >>> map(itemgetter(0), dd.items()) #### for keys ['323', '332'] >>> map(itemgetter(1), dd.items()) #### for values ['3323', 232]
您可以通过调用字典上的items()来访问您的密钥和/或值。
for key, value in d.iteritems(): print(key, value)