Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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
Python:搜索列表失败_Python_List_Search - Fatal编程技术网

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是真的哦,是的,我知道了!。谢谢。哦,是的,我知道了!。非常感谢。