Python:搜索列表失败
有人能解释一下这段代码是怎么回事吗Python:搜索列表失败,python,list,search,Python,List,Search,有人能解释一下这段代码是怎么回事吗 def some_function(value): my_list = [value, [True, "Some text"]] if True in my_list: return "yes" else: return "no" 如果value=1,我得到“是”,并且这个行为是正确的。但若值是某个字符串,则结果为“否”。我想应该永远是“是的”。我用的是Python3.4,记得吗 1 == True
def some_function(value):
my_list = [value, [True, "Some text"]]
if True in my_list:
return "yes"
else:
return "no"
如果value=1,我得到“是”,并且这个行为是正确的。但若值是某个字符串,则结果为“否”。我想应该永远是“是的”。我用的是Python3.4,记得吗
1 == True
"1" != True
因此,情况就是这样
[1, [True, "Some text"]]
包含True
,而
["1", [True, "Some text"]]
没有
编辑:子列表是否包含True
请记住
1 == True
"1" != True
因此,情况就是这样
[1, [True, "Some text"]]
包含True
,而
["1", [True, "Some text"]]
没有
编辑:子列表是否包含
True
无关紧要。您的列表包含两个项目-值
,和[True,“某些文本”]
当value
为1
时,value
等于True
,因此结果为yes
当值
为'1'
时,这两项都不等于真
,因此结果为否
听起来好像你在假设列表中的
x
也应该在所有子列表中查找-事实并非如此你的列表包含两个项目-值
,和[真,“一些文本”]
当value
为1
时,value
等于True
,因此结果为yes
当值
为'1'
时,这两项都不等于真
,因此结果为否
听起来好像你在假设列表中的
x
也应该在所有子列表中查找-事实并非如此@Tichodroma:Title edit是错误的-问题是“value=1,我得到了“yes”,这个行为是正确的“,这意味着问题的关键不是为什么1==True
@Eric。同意。但目前的标题也是错误的。列表与问题无关。True
不在我的列表中,但它在我的列表[1]
@Tichodroma:Title edit是错误的-问题是“value=1,我得到了“yes”,此行为是正确的“,这意味着问题的关键不是为什么1==True
@Eric。同意。但目前的标题也是错误的。列表与问题无关。True
不在我的列表中,但它在我的列表[1]
中。哦,我认为在列表中所有元素:value、True和“some text”以及在控制台中应该是“yes”,因为在元素中为True。@rec99:Nope<[1,[True,3]]
中的code>True为false,但[1,True,3]
中的True为True噢,我认为在列表中所有元素:value、True和“某些文本”以及控制台中应该为“yes”,因为在元素中为True。@rec99:Nope<[1]中的code>True,[True,3]]
是假的,但是[1,True,3]中的True是真的哦,是的,我知道了!。谢谢。哦,是的,我知道了!。非常感谢。