gpt4 book ai didi

python - 字典中具有其他数据类型的 bool 键

转载 作者:行者123 更新时间:2023-11-28 20:36:50 26 4
gpt4 key购买 nike

我正在浏览一些 python 字典链接并找到了这个。

我似乎无法理解下面发生的事情。

dict1 = {1:'1',2:'2'}
print dict1

输出

{1:'1',2:'2'}

但是如果我在字典中添加一个 bool 键,它会给出一些奇怪的东西。

dict2 = {True:'yes',1:'1',2:'2'}
print dict2

输出

{True:'1',2:'2'}

只有当我们将 bool 值包含到字典中时才会发生这种情况吗?

最佳答案

问题是 True 是一个值为 1 的内置枚举。因此,散列函数将 True 简单地视为另一个 1,并且......好吧,如您所见,这两个在重新映射时会混淆。是的,有描述 Python 如何解释这些的严格规则,但您可能不关心这个级别上 False=0 和 True=1 之后的任何内容。

您看到的标签(例如 True 与 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)。与任何赋值一样,显示的值是最后一个值。

关于python - 字典中具有其他数据类型的 bool 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44185741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com