问题是值
True是的内置枚举
1。因此,哈希函数看起来
True就像是另一个
1,而…,就像您看到的那样,两者在重新映射时会感到困惑。是的,有一些牢固的规则描述了Python将如何解释它们,但是在此级别上,您可能不关心False
= 0和True = 1之后的任何内容。
您看到的标签(例如,True vs 1,)设置在第一个参考上。例如:
>>> d = {True:11, 0:10}>>> d{0: 10, True: 11}>>> d[1] = 144>>> d{0: 10, True: 144}>>> d[False] = 100>>> d{0: 100, True: 144}注意这是如何工作的:每个字典条目显示每个给定值(0 / False和1 / True)的 第一个 标签。与任何分配一样,显示的值是最后一个值。



