我認爲這是最好使用的集對稱差操作要做到這一點(https://docs.python.org/2/library/sets.html)。
>>> dict1 = {1:'donkey', 2:'chicken', 3:'dog'}
>>> dict2 = {1:'donkey', 2:'chimpansee', 4:'chicken'}
>>> set1 = set(dict1.items())
>>> set2 = set(dict2.items())
>>> set1^set2
{(2, 'chimpansee'), (4, 'chicken'), (2, 'chicken'), (3, 'dog')}
它是對稱的,因爲:
>>> set2^set1
{(2, 'chimpansee'), (4, 'chicken'), (2, 'chicken'), (3, 'dog')}
使用差分算
>>> set1 - set2
{(2, 'chicken'), (3, 'dog')}
>>> set2 - set1
{(2, 'chimpansee'), (4, 'chicken')}
時,但是它可能不爲結果設置爲轉換一個好主意,這是不是這樣的字典,因爲你可能會丟失信息:
>>> dict(set1^set2)
{2: 'chicken', 3: 'dog', 4: 'chicken'}
你還需要找到,如果差鍵是相同的,但它們的值不同? –
請不要在這裏將您的問題標記爲「緊急」 - 所有問題都具有同等重要性。謝謝! – halfer