打印两个元组之间的差异

cut*_*eth 3 python tuples difference

如何打印两个元组之间的差异?

 >>>a=(1,2,3,4)
 >>>b=(2,3,5,6)
Run Code Online (Sandbox Code Playgroud)

如果元组如上,则预期输出为(1,4,5,6).比较函数只能比较但无法找到差异.

元组由MySQLdbpython库生成.正在执行的查询会产生大量数据.

In [13]: c.execute(query)
Out[13]: 86844L
In [14]: qop1 = c.fetchall()
In [19]: len(qop1)
Out[19]: 86844
Run Code Online (Sandbox Code Playgroud)

因此,如果我将每个元组与自定义代码进行比较,则需要花费很多时间.我可以像内置的python库一样有效地实现这一目标吗?

ree*_*ece 11

您想要对称差异 - 在任一集中但不在交集中的元素.这可以通过以下方式完成:

set(a) ^ set(b)
Run Code Online (Sandbox Code Playgroud)

要么:

set(a).symmetric_difference(set(b))
Run Code Online (Sandbox Code Playgroud)