擅长:python、mysql、java
<p>迭代字典列表以进行比较,并跟踪以前看到的所有键及其值(通过<code>orig.update()</code>调用完成)</p>
<pre><code>compare = [{
'keyA': 'valueA',
'keyB': 'valueB',
'keyC': 'valueC',
'keyD': 'valueD',
'keyE': 'valueE',
'keyF': 'valueF',
'keyG': 'valueG'
},
{
'keyA': 'valueA',
'keyB': 'valueB',
'keyX': 'valueX',
'keyD': 'valueH',
'keyE': 'valueE',
'keyF': 'valueF',
'keyG': 'valueG'
},
{
'keyA': 'valueA',
'keyB': 'valueB',
'keyX': 'valueX',
'keyD': 'valueH',
'keyE': 'valueE',
'keyF': 'valueF',
'keyG': 'valueB'
}]
orig = compare[0]
diffs = []
for comp in compare[1:]:
for k in comp:
if k in orig and orig[k] != comp[k]:
diffs.append(k)
orig.update(comp)
print(diffs)
</code></pre>
<p>。。输出<code>['keyD', 'keyG']</code>,这是三个dict值不同的两个键。如果您不希望键显示多次(即,如果您只需要知道它们已更改,而不需要知道它们更改了多少次),请使用字典替换<code>diffs</code>,并使用<code>dict.values()</code></p>