Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.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,所以我有一个数字值列表,比如 my_num=[1,2,2,3,4,5] 我想要的是一个检查列表中是否有1、2和3的代码。 我想到的是: 如果my_num中的1、2和3: 做点什么 但问题是,如果列表中有1和3,则即使没有2,do-something代码也会以任何方式执行。尝试以下方法: nums = [1,2,3,4] >>> if (1 in nums) and (2 in nums) and (3 in nums): ... print('ok') ... ok >

所以我有一个数字值列表,比如 my_num=[1,2,2,3,4,5]

我想要的是一个检查列表中是否有1、2和3的代码。 我想到的是:

如果my_num中的1、2和3:

做点什么

但问题是,如果列表中有1和3,则即使没有2,do-something代码也会以任何方式执行。

尝试以下方法:

nums = [1,2,3,4]
>>> if (1 in nums) and (2 in nums) and (3 in nums):
...   print('ok')
...
ok
>>> if (1 in nums) and (2 in nums) and (9 in nums):
...   print('ok')
...
>>>
试试这个:

nums = [1,2,3,4]
>>> if (1 in nums) and (2 in nums) and (3 in nums):
...   print('ok')
...
ok
>>> if (1 in nums) and (2 in nums) and (9 in nums):
...   print('ok')
...
>>>
不是做你认为它做的事情:它测试
如果1是
真的
,如果2也是
真的
,然后
如果3在我的数值中

您必须单独测试每个条件:

if 1 and in my_num and 2 in my_num and 3 in my_num:
不是做你认为它做的事情:它测试
如果1是
真的
,如果2也是
真的
,然后
如果3在我的数值中

您必须单独测试每个条件:

if 1 and in my_num and 2 in my_num and 3 in my_num:

如果列表长度较长:

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
_in = [2, 3, 4]
if len(set(_in)) == len(set(nums)&set(_in)):
    print("ok")

如果列表长度较长:

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
_in = [2, 3, 4]
if len(set(_in)) == len(set(nums)&set(_in)):
    print("ok")

查看标准库函数
any
all
。你可以这样写:

if any(a in my_num for a in (1, 2, 3)):
    # do something if one of the numbers is in the list
if all(a in my_num for a in (1, 2, 3)):
    # do something if all of them are in the list

查看标准库函数
any
all
。你可以这样写:

if any(a in my_num for a in (1, 2, 3)):
    # do something if one of the numbers is in the list
if all(a in my_num for a in (1, 2, 3)):
    # do something if all of them are in the list

非常感谢你,它成功了。我有点理解为什么你的工作比我的好。你的将检查每一个单独的东西@CYLegends!如果这有助于您了解如何在Python中同时实现多个条件,请随意单击复选标记:)非常感谢您的帮助。我有点理解为什么你的工作比我的好。你的将检查每一个单独的东西@CYLegends!如果这有助于您了解如何在Python中同时实现多个条件,请随意单击复选标记:)请显示您的工作请显示您的工作