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

我想查看一个列表(列表 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]


守着星空守着你
浏览 145回答 3
3回答

Smart猫小萌

您可以使用以下代码: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 中,依此类推。

人到中年有点甜

您可以使用zip()withissubset()方法set如下:[True if set(x).issubset(set(y)) else False for x,y in zip(a,b)]在性能方面,我认为这并不比 ammar 的答案更好。但这是一个单班轮;-)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python