Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 - Fatal编程技术网

python检查列表中是否有两个变量

python检查列表中是否有两个变量,python,Python,我是Python新手,在重写旧Python脚本的过程中,我遇到了以下几行代码: value1 = 'some val 1' value2 = 'some val 2' some_list = #list of values if (value1, value2) in some_list: 是否检查列表中是否有value1和value2 我在谷歌上搜索了如何做到这一点,答案显示了不同的方法,我没有看到任何使用上述代码的建议 这是在做其他事情吗?我应该保留还是更改它?您可以使用all: >

我是Python新手,在重写旧Python脚本的过程中,我遇到了以下几行代码:

value1 = 'some val 1'
value2 = 'some val 2'
some_list = #list of values

if (value1, value2) in some_list:
是否检查列表中是否有
value1
value2

我在谷歌上搜索了如何做到这一点,答案显示了不同的方法,我没有看到任何使用上述代码的建议


这是在做其他事情吗?我应该保留还是更改它?

您可以使用
all

>>> lst = [1, 2, 3, 4, 5]
>>> values = (1, 3)
>>> all(value in lst for value in values)
True
>>> values1 = (1, 6)
>>> all(value in lst for value in values1)
False
all
仅当所有值与条件匹配时才会计算为
True
,在本例中为“在列表中”。这是一个非常有用的方法,因为一旦其中一个值与条件不匹配,它就会停止计算。这种技术称为

其行为类似于
if and…:从左到右逐个评估每个测试,并在其中一个测试未通过时返回False。

(value1,value2)
是一个。检查该元组是否在列表中。例如:

mylist = [4, 5, (4, 5), 6]
(4, 5) in mylist
>True #because the tuple (4, 5) is in the list
(5, 6)
>False #because although 5 and 6 are both in the list, the tuple is not.
如果要查看元组中的每个项是否都在列表中,请使用@apero所述的:

mylist = [4, 5, 6, 7]
all(x in mylist for x in (4, 5, 6))
>True
all(x in mylist for x in (4, 5, 8))
>False

如果要检查列表中是否有任何值:

>>> all(x in some_list for x in [value1, value2])

现在要做的是使用集合检查元组是否在列表中

另一个元组:

>>> to_find = {4, 5, 6}
>>> mylist = [4, 5, 6, 7]
>>> to_find.intersection(mylist) == to_find
True
>>> mylist = [5, 6, 7, 8]
>>> to_find.intersection(mylist) == to_find
False

否,这将检查列表中是否存在元组
(值1,值2)
。而不是个人价值观本身。