如何正确地从列表中丢弃相似的元素?

时间:2018-12-02 17:21:20

标签: python

我有这样的列表:

a = [1,2,3,4,5,6,7]
b = [10,11,13,2,14,7]

我想要这样的输出:

b = [10,11,13,14]

如果a中的元素在b中,则该元素已被丢弃。 拜托,任何人都可以告诉我该怎么做?

1 个答案:

答案 0 :(得分:2)

使用list comprehension

b = [x for x in b if x not in a]

像这样工作:

a = [1,2,3,4,5,6,7]
b = [10,11,13,2,14,7]
b = [x for x in b if x not in a]

print b
>> [10, 11, 13, 14]

回复:@DeepSpace的建议,在列表中查找集合中的元素比在另一个列表中查找列表中的元素要快得多,因此将a声明为set()

a = set([1,2,3,4,5,6,7])
b = [10,11,13,2,14,7]
b = [x for x in b if x not in a]