0

找出结果来自哪个集合的最佳实践是symmetric_difference什么?

intersect = s1.symmetric_difference(s2)

结果应该看起来像

{'34':'s1', '66':'s2'} 

其中“34”、“66”是唯一项目。

4

2 回答 2

3

为了最干净地做到这一点,以下应该工作:

intersect = s1.symmetric_difference(s2)
result = dict([(i, ("s1" if i in s1 else "s2")) for i in intersect])
于 2013-08-07T11:42:44.110 回答
1
{x : 's1' for x in intersect if x in s1} + {x : 's2' for x in intersect if x in s2}

或者

{x : ('s1' if x in s1 else 's2') for x in intersect}
于 2013-08-07T11:42:29.440 回答