假设我有一个包含不同值的列表,如下所示:
[1,2,3,'b', None, False, True, 7.0]
我想迭代它并检查每个元素是否不在某些禁止值列表中。例如,这个列表是[0,0.0]
.
当我检查是否为 False 时[0,0.0
] I get True
。我明白 python 强制转换False
to 0
在这里 - 但我如何才能避免它并进行正确的检查 - 那False
值不在[0,0.0]
?
为了区分之间的区别False
and 0
你可以使用is
来比较它们。False
是一个单例值并且始终引用同一个对象。比较列表中的所有项目以确保它们不是False
, try:
all(x is not False for x in a_list)
顺便说一句,Python 在这里不进行任何转换:布尔值是整数的子类,并且False
字面上等于0
,无需转换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)