for循环具有相似和不同值的项的字典

时间:2017-04-28 09:35:25

标签: python-3.x dictionary

在python 3中,为什么"用于循环"具有相似和不同值的项目的字典会产生不同的结果吗?示例如下:

>>> A = 0
>>> B = 0
>>> for i in {A, B}:
    print (i)
0
>>> A = 1
>>> B = 1
>>> for i in {A, B}:
    print (i)
1
>>> A = 0
>>> B = 1
>>> for i in {A, B}:
    print (i)
0
1

2 个答案:

答案 0 :(得分:1)

这不是你正在迭代的字典,它是set。使用大括号{A, B, ...}内的逗号分隔值创建集合文字。

字典由方括号{A: valueA, B: valueB}内的冒号分隔值创建。无论如何,你仍然可以使用字典获得相同的结果,因为你不能拥有重复的密钥,因此,如果AB具有相同的值,则只有一个密钥存在。

答案 1 :(得分:0)

{A,B}语法不是字典语法,而是set,当您的值相等时,set只保留其中一个,因为set是设计的保证物品的唯一性(但不是他们的订单)