对于循环和字典

时间:2018-07-26 15:48:45

标签: python python-3.x dictionary key

在Python 3.x中,我了解默认情况下,如果我们迭代字典,则每次迭代都会为循环变量分配键的值。 因此:

for loopvar_1 in {'a':1,'b':2,'c':3}:
 print(loopvar_1)

结果

a
b
c

将键分配给循环变量而不是与该键关联的实际值(在这种情况下为数字1、2和3)有什么好处

因此,根据我在上面的询问,是否每次都确实需要引用键?如何在不使用任何函数或方法的情况下迭代值?

2 个答案:

答案 0 :(得分:2)

这在PEP-234中进行了讨论,其中定义了dictionary iterators(强调我的行为)的行为:

  

关于是否

for x in dict: ...
     

应为 x 分配连续的键,值或项目   字典。 if x in yx in y之间的对称性表明   应该在密钥上进行迭代。   许多独立地使用,甚至被用来“解释”   其他。这是因为对于序列,if x in y遍历 y   将迭代值与 x 进行比较。如果我们同时采用以上两种   建议,这也适用于字典。

答案 1 :(得分:0)

带出所有关联值的一种方法是使用默认方法来引用关联值,并在for循环内进行操作,以便每次更改用于调用关联值的键。

mnm={'a':1,'b':2,'c':3}
for z in mnm:
    print(mnm[z])

PS:这是我在问问题时还要知道的,不幸的是,有关“不使用方法或函数”的部分被删除为无关紧要。