2013-08-07 38 views

回答

3

要做到這一點最乾淨,下面應該工作:

intersect = s1.symmetric_difference(s2) 
result = dict([(i, ("s1" if i in s1 else "s2")) for i in intersect]) 
+0

'字典([(X,Y)爲...])'可以'更好地寫成'dict((x,y)for ...)'。額外的括號會創建一個不必要的列表,然後立即將其轉換爲字典,因此不使用它們會看起來更乾淨並且運行速度更快。 –

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} 
相關問題