有人能解释一下这种行为吗?
In[11]: (1, 2) in [(True, 2)]
Out[11]: True
In[12]: (1, 2) in [(True, True)]
Out[12]: False
In[13]: (1, 2) in [(True, False)]
Out[13]: False
In[14]: ("1", 2) in [(True, 2)]
Out[14]: False这就像一个bug--每当我检查一个元组是否在元组列表中时,整数1总是等于True。如果可以解释的话,我不想向Python bug跟踪器报告。
发布于 2015-11-07 18:17:35
发布于 2015-11-07 18:19:40
我认为这里的“诀窍”是1 == True和0 == False都计算为True。
您的行11、12和13意味着所有真实值都应该相等。如果是这样的话,1 == 2将计算为True,这显然是一个bug。
https://stackoverflow.com/questions/33586081
复制相似问题