如何检查列表1中的任何元素是否不在列表2中?python

2024-04-26 13:36:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两份清单:

list1 = [1,2,3,4]
list2 = [1,2,3]

如何检查列表1中是否有任何元素不在列表2中

我的当前代码由于某些原因无法工作:

if not any(item in list1 for item in list2):
    print(True)

我也尝试过相反的方法,但也不起作用:

if not any(item in list2 for item in list1):
    print(True)

因此,理想情况下,我应该将True作为输出,因为list1中的元素4在list2中不存在,但我不存在

我也想知道我的代码不正确的原因。提前谢谢


Tags: 方法代码intrue元素列表forif
1条回答
网友
1楼 · 发布于 2024-04-26 13:36:58

你拿的是整张支票的底片。这将返回正确的结果

list1 = [1,2,3,4]
list2 = [1,2,3]
if any(item not in list2 for item in list1):
    print(True)

问题是

any(item in list2 for item in list1)

如果list2中的任何项位于list1中,则将返回True,我们可以同意存在该项。另一个选择是使用

all(item in list2 for item in list1)

它将返回False,因为list1中的items并非所有的list2都在list2中。如果你用not all否定这一点,你将获得预期的结果

相关问题 更多 >