我想要发生的事情:当给出两个列表(列出a和列表b)时,删除列表b中列表a中的数字。
当前发生的事情:我的第一个功能仅在列表a只有一个要删除的号码时有效。
我尝试了什么:将列表转换为集合,然后减去a - b
def array_diff(a, b):
c = list(set(a) - set(b))
return c
还试过:将列表转换为集合,在a中查找n,在b中查找m,然后如果n = m则删除n。
def array_diff(a, b):
list(set(a))
list(set(b))
for n in (a):
for m in (b):
if n == m:
n.remove()
return a
可能想到:使用"而不是"用于确定某事物是否在b中。
示例输入/输出:
INPUT:array_diff([1,2],[1])OUTPUT:[2]
INPUT:array_diff([1,2,2],[1])OUTPUT:[2](这应该是[2,2]
答案 0 :(得分:5)
就这样使用它:
c = [x for x in a if x not in b]