我有一个列表列表,a
例如:
a = [[1, 3, 7], [3, 5, 7], [-23, -34, -45]]
和另一个列表,b
例如:
b = [1, 2, 3, 4]
我想创建一个列表c
,当单行列表的前两列中的项目a
不存在于列表b
中时,a 的行将附加到列表 c。在示例列表中 c 看起来像:
c = [[7], [7], [-45]]
因为第一行a
包含 1 和 3,它们都存在于中b
,而第二行包含 3,它们存在于 中b
。
我尝试了以下方法但没有成功:
for row in a:
if row[0] or row[1] not in b:
c.append(a)
和
for row in a:
if row[1] not in b:
if row[0] not in b:
c.append(a)
因为两者似乎都复制a
到b
有谁知道为什么我的代码不起作用/代码会改为?
编辑:抱歉,我第一次得到了我的预期结果错误
编辑 2:我搞砸了——我设计的全错了,我的输入列表来自另一个来源,我把它们复制错了。所以我真正想做的是如下
c = [ ]
a = [[1, 3, -23], [3, 5, -34], [7, 7, -45]]
b = [1, 2, 3, 4]
for row in a:
if row[0] not in b and row[1] not in b:
c.append(row)
感谢所有帮助过的人。对不起,我真是个白痴。