Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
True以及python字典中计算为相同的1和1.0_Python_Dictionary_Boolean - Fatal编程技术网

True以及python字典中计算为相同的1和1.0

True以及python字典中计算为相同的1和1.0,python,dictionary,boolean,Python,Dictionary,Boolean,有人能解释python字典的这种行为吗 d = {} d[True] = 'Magic' d[1] = 'Cool' d[1.0] = 'Hello' print(d) # {True: 'Hello'} 为什么它不打印所有其他(键、值)对 为什么True、1和1.0被评估为相同?三项1、1.0、True中的值相同(它等于1)。如果没有冲突,python会将其用作字典的键。当1==1.0==True也是True时,没有冲突 下面是有关python字典的详细信息。新的实现是按照这些思路进行的(

有人能解释python字典的这种行为吗

d = {}
d[True] = 'Magic'
d[1] = 'Cool'
d[1.0] = 'Hello'
print(d)

# {True: 'Hello'}
为什么它不打印所有其他(键、值)对

为什么True、1和1.0被评估为相同?

三项
1、1.0、True
中的值相同(它等于
1
)。如果没有冲突,python会将其用作字典的键。当
1==1.0==True
也是
True
时,没有冲突

下面是有关python字典的详细信息。新的实现是按照这些思路进行的(但保留了顺序)。

三项
1,1.0,True
的结果是相同的(它等于
1
)。如果没有冲突,python会将其用作字典的键。当
1==1.0==True
也是
True
时,没有冲突


下面是有关python字典的详细信息。新的实现是按照这些思路进行的(但保留了顺序)。

是!!散列是相等的,值是相等的。您可以简单地尝试:
True。
bool
int
的一个子类,
True==1
False==0
是经过深思熟虑的。是的!!散列是相等的,值是相等的。你可以简单地尝试:
True。
bool
int
的一个子类,
True==1
False==0
是经过深思熟虑的。@Aran Fey,但是1.0部分没有在那里解决,对吗?@Jean François Fabre No,但这真的必要吗?答案很好地解释了集合(和dict)消除了散列和比较相等的项。那么,我认为这是一个必要的重复。因为可能存在混淆,因为
bool
int
的子类,而
float
不是。。是的,这是一个副本,但我不打算去争取删除它。有用的欺骗。该死的,我在结束后编辑:)@Aran Fey,但1.0部分没有在那里解决,对吗?@Jean-Françoisfar没有,但这真的有必要吗?答案很好地解释了集合(和dict)消除了散列和比较相等的项。那么,我认为这是一个必要的重复。因为可能存在混淆,因为
bool
int
的子类,而
float
不是。。是的,这是一个副本,但我不打算去争取删除它。有用的欺骗。该死,我在结束后编辑:)