为了账号安全,请及时绑定邮箱和手机立即绑定

Python 通过 Issubset 或其他方法比较列表中的项目

Python 通过 Issubset 或其他方法比较列表中的项目

守着星空守着你 2021-09-01 12:51:16
我想查看一个列表(列表 A)中的所有项目是否出现在另一个列表列表(列表 B - 完整列表)中,然后将返回 true 或 false 保存到列表中。例如,下面是两个列表(list of list)List A : [ [1,2],[3,4],[8,9] ]List B : [ [1,2,3,4], [5,6,7],[8,10] ]预期结果 Result List : [[True,False,False]
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

您可以使用以下代码:


A = [ [1,2],[3,4],[8,9] ]

B = [ [1,2,3,4], [5,6,7],[8,10] ]

result = []

for x,y in zip(A, B):

    if all(e in y for e in x):

        result.append(True)

    else:

        result.append(False)

它产生如下列表:


[True, False, False]

该代码使用zip()函数将两个列表中的相应项目配对在一起。


此外,该行all(e in y for e in x)是代码的重要部分。它检查A 的第一个子列表中的所有元素是否都在第一个子列表 B 中,依此类推。



查看完整回答
反对 回复 2021-09-01
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

您可以使用zip()withissubset()方法set如下:

[True if set(x).issubset(set(y)) else False for x,y in zip(a,b)]

在性能方面,我认为这并不比 ammar 的答案更好。但这是一个单班轮;-)


查看完整回答
反对 回复 2021-09-01
  • 3 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信