任何人都可以解释这段代码中发生了什么吗?
def some_function(value):
my_list = [value, [True, "Some text"]]
if True in my_list:
return "yes"
else:
return "no"
>>> print(function(1))
yes
>>> print(function("1"))
no
如果值 = 1,我得到"is"并且此行为是正确的。但如果值是某个字符串,则结果为“否”。我认为应该永远是"is"。我用的是Python3.4
请您参考如下方法:
记住这一点
1 == True
"1" != True
原来是这样
[1, [True, "Some text"]]
包含 True,而
["1", [True, "Some text"]]
没有。
编辑:子列表包含True 并不重要。
