在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
答案 0 :(得分:1)
这不是你正在迭代的字典,它是set
。使用大括号{A, B, ...}
内的逗号分隔值创建集合文字。
字典由方括号{A: valueA, B: valueB}
内的冒号分隔值创建。无论如何,你仍然可以使用字典获得相同的结果,因为你不能拥有重复的密钥,因此,如果A
和B
具有相同的值,则只有一个密钥存在。
答案 1 :(得分:0)
此{A,B}
语法不是字典语法,而是set
,当您的值相等时,set
只保留其中一个,因为set
是设计的保证物品的唯一性(但不是他们的订单)