我有两个对象列表,例如
L1 = [2,3,4]
L2 = [1,2]
我想要两个不同的列表。
1) 匹配项 2) 不匹配项
我能够像下面这样得到匹配的元素#1
match = [x for x in L1 if x in L2]
但是我怎样才能以有效的方式获取不匹配的元素。
我可以使用 not in 但有没有其他方法可以做到这一点。
谢谢,
最佳答案
您可以使用各种set
方法,例如intersection
, difference
, symmetric_difference
, 和 union
>>> L1 = [2,3,4]
>>> L2 = [1,2]
>>> set(L1).intersection(L2)
{2}
>>> set(L1).difference(L2)
{3, 4}
>>> set(L1).symmetric_difference(L2)
{1, 3, 4}
>>> set(L1).union(L2)
{1, 2, 3, 4}
关于python - python中的set操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28745755/