首页 > 解决方案 > 如何使用集合获得两个列表之间的差异

问题描述

为什么会这样:

a = ["one", "two","three"]
b = ["one","three"]
c = set(a)-set(b)
d = set(b)-set(a)
e = []
e.append(d)
e.append(c)

这不会:

example = set(set([a])-set([b])) + set(set([b])-set([a]))

我知道,关于索引数量,第一种情况会产生与第二种情况不同的结果。

我如何使用 set 制作第二个版本,而不使用联合或符号项。

期望的输出:做一个最终列表,你会得到:

output = ["two"]

基本上只使用集合函数来找到不常见的元素并将其作为一个衬里。

标签: pythonlistset

解决方案


一个班轮:

list(set(a) - set(b)) # ["two"]

推荐阅读