Skip to main content
 首页 » 编程设计

python之按行打印字典

2025年05月04日24duanxz

我有一本这种格式的字典:

d = {'type 1':[1,2,3],'type 2':['a','b','c']} 

这是一个对称字典,从某种意义上说,对于每个键,我将始终拥有相同数量的元素。

有一种方法可以像行一样循环:

for row in d.rows(): 
    print row 

所以我得到了输出:

[1]: 1, a 
[2]: 2, b 
[3]: 3, b 

请您参考如下方法:

您可以 zip .values() , 但除非您使用 collections.OrderedDict,否则无法保证顺序(或 fairly recent version of PyPy ):

for row in zip(*d.values()): 
    print(row) 

例如当我运行它时,我得到

('a', 1) 
('b', 2) 
('c', 3) 

但我本可以很容易地得到:

(1, 'a') 
(2, 'b') 
(3, 'c') 

(如果启用哈希随机化,我可能会在未来的运行中得到它)。


如果你想要一个指定的顺序并且有一组你预先知道的有限键,你可以直接压缩这些项目:

zip(d['type 1'], d['type 2'])