Python 过滤两个列表
我想找到一种方法,用一个列表来筛选另一个列表中的元素。
有点像交集的用法,但正好相反。
lst = [0,1,2,6]
secondlst = [0,1,2,3,4,5,6]
期望的结果
[3,4,5]
4 个回答
2
你可以看看Python里的 set() 类型。
>>> lst = [0,1,2,6]
>>> secondlst = [0,1,2,3,4,5,6]
>>> set(lst).symmetric_difference(set(secondlst))
set([3, 4, 5])
3
你可以使用 filter
。
filter(lambda x: x not in lst, secondlst)
12
简单的方法:
r = [v for v in secondlst if v not in lst]
或者
list(set(secondlst).difference(lst))