python - 如何使用集合获得两个列表之间的差异
问题描述
为什么会这样:
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"]
基本上只使用集合函数来找到不常见的元素并将其作为一个衬里。
解决方案
一个班轮:
list(set(a) - set(b)) # ["two"]
推荐阅读
- ruby - 如何运行最简单的单元测试
- c++ - 来自不同位置的数组输出的执行时间
- reactjs - 在 React Compoment 中有条件地使用 Gatsby Link
- javascript - 为什么调用api时必须返回函数,而在express(KeystoneJs)中调用视图控制器时却不能?
- javascript - Firestore.settings() 需要一个参数,但所有参数在文档中都是可选的?
- ios - 如何将 CALayer 显示限制为子矩形
- linux - ID小于500的组的详细信息
- python - 尝试输出两个值时,Int object is not callable 错误
- python - 使用方括号的 Pandas 基础知识
- matlab - 如何找出一个数字在矩阵中的位置并删除它以及添加它?