我需要比較2個字典來找到一個字典中不存在的字典集。簡明的方法來找到2個字典之間的「關鍵」區別?
我知道了Python 設置對象支持:
set3=set1-set2
,但我不能這樣做:
dict3=dict1-dict2
或:
missingKeys=dict1.keys()-dict2.keys()
(我有點驚訝最後一點,因爲在Java中,鍵是Set對象。)一種解決方案是:
missingKeys=set(dict1.keys())-set(dict2.keys())
有沒有更好或更簡潔的方法來做到這一點?
我認爲最後一行充分凝練自己,但......我想一個更有趣的問題是「如何從X中刪除Y中的所有z?」 X和Y是列表。例如,當X中存在重複的z時,這應該是非常有用的。 – 2012-04-22 23:04:37
@pst:那麼,創建設置對象有點奇怪,只是爲了利用差異()函數... – 2012-04-22 23:05:39
另一方面,因爲它*是一個集合,它可以利用更好的O ...對於列表差異使用理解很容易,但稍微羅嗦一點。儘管如此,如果將「探測」列表轉換爲「集合」,仍然具有相同的性能。 – 2012-04-22 23:06:56