python找到两个列表之间的区别

K00*_*764 14 python list match

我是编程新手,但我一直在学习,最近我碰到了墙,所以我正在寻求帮助.对不起,如果以前讨论过,但我找不到问题的答案.我有两个清单.我需要比较它们,并在结果中得到不匹配的对象.例如:

a = [1,2,3,4,5,6]
b = [1,2,3,4,5,6,7,8,9]
result = [7,8,9].
Run Code Online (Sandbox Code Playgroud)

我似乎只找到返回匹配的代码和示例.我不需要.

列表在文件记事本file.txt中供大家记住,如果这有助于你帮助我.:)

use*_*342 17

您可以将列表转换为集合并运行常用的集合操作,例如差异或对称差异.例如,set(b) - set(a)评估为set([7, 8, 9]).

  • 只需要将一个列表转换为集合...:`set(b).difference(a)`例如...... (5认同)

Dan*_*ard 10

如果第二组并不总是第一组的子集,则差异运算符' - '可能并不总是返回您期望的值.

例如

[1,2,3,4,5] - [3,4,5,6,7] = [1,2]
Run Code Online (Sandbox Code Playgroud)

如果您希望列表中的一组项目而不是两个列表都使用对称差异运算符'^'.

[1,2,3,4,5] ^ [3,4,5,6,7] = [1,2,6,7]
Run Code Online (Sandbox Code Playgroud)

对称差分算子,假设它做你想要的,也具有可交换的优点.这意味着您不需要像使用差异运算符那样确定比较集合的顺序.

http://docs.python.org/2/library/stdtypes.html#set