2017-11-18 132 views

回答

3

Python使用与==运算符使用的相同的相等性测试。您使用的所有密钥(1,True,1.01.00)的比较结果均相等。你的字典发生了什么,它保留了第一个关键字,然后更新与该关键字相关的值,以便所有随后的关键字与其相等。这有点不直观,因为关键值不一样(除了1.01.00),但它们是“相等的”。

类似地,{1: 'd'}[True]的计算结果为'd',因为True == 1

+0

哦,谢谢!当我向我的字典中添加混合值时,我非常困惑,因为我解析了一个csv文件。我把它归结为'{1:'a',真:'b',1.0:'c',1.00:'d'}'。 –

1

所有值1,True,1.0和1.00是相等的(1.0和1.00是完全相同的值)。所以他们都被认为是字典中的同一个关键。你不能有一个与多个相同的密钥字典。

1

Python不支持字典中的重复键。

在该示例中,所有密钥都相同(True==1评估为True)。
所以Python会放弃除最后一个键外的每个键值。

相关问题