我想查看一个列表(列表 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 中,依此类推。
人到中年有点甜
TA贡献1895条经验 获得超7个赞
您可以使用zip()
withissubset()
方法set
如下:
[True if set(x).issubset(set(y)) else False for x,y in zip(a,b)]
在性能方面,我认为这并不比 ammar 的答案更好。但这是一个单班轮;-)
添加回答
举报
0/150
提交
取消