迭代字典

时间:2018-02-02 15:11:21

标签: python iteration python-2.x

使用print(i)desc = {'city': 'Monowi', 'state': 'Nebraska', 'county':'Boyd', 'pop': 1} for i, j in desc.items(): print(i, j) for i in desc.items(): print(i) 的两个设置会返回相同的结果。是否有一个案例 应该使用另一种,还是可以互换使用?

for i, j in desc.items():
 print(i, j)[1]

for i in desc.items():
 print(i)[1]
{{1}}

3 个答案:

答案 0 :(得分:8)

如果因为使用python 2X

而删除打印中的括号,则两者都不同
desc = {'city': 'Monowi', 'state': 'Nebraska', 'county':'Boyd', 'pop': 1}

for i, j in desc.items():
 print i, j 

for i in desc.items():
 print i

输出

county Boyd
city Monowi
state Nebraska
pop 1
('county', 'Boyd')
('city', 'Monowi')
('state', 'Nebraska')
('pop', 1)

答案 1 :(得分:1)

在Python 3中,print(i, j)print(i) 会返回相同的结果。

print(i, j)打印键i后跟其值j

print(i)打印一个元组,其中包含字典键,后跟其值

答案 2 :(得分:0)

items()返回一个视图对象,允许您迭代(key, value)元组。所以基本上你可以像操作元组那样操纵它们。 document可能有所帮助:

  

ITER(dictview)   在字典中的键,值或项(表示为元组> of(key,value))上返回一个迭代器。

此外,我认为print(i, j)[1]会导致Python 3出错,因为print(i, j)会返回None