擅长:python、mysql、java
<p>您可以做的是创建另一个字典,其中key作为其他字典的值,并且该字典的值是该字典的一组键。基本上,您可以还原字典,其中键是值,值是一组键。因此,如果您有相同的值,那么这些值的键将是该键的一部分。你知道吗</p>
<p>下面是一个dict在转换后的样子:</p>
<pre><code>{(('ABC', 0.4), ('ABD', 0.6)): {'A003', 'A001', 'A004'},
(('ABC', 0.5), ('ABD', 0.4), ('EFG', 0.1)): {'A002'}})
</code></pre>
<p>那就是评级和印刷的问题了。你知道吗</p>
<pre><code>from collections import defaultdict
list1 = [
{"A001": {"ABC": 0.4, "ABD": 0.6}},
{"A002": {"ABC": 0.5, "ABD": 0.4, "EFG": 0.1}},
{"A003": {"ABC": 0.4, "ABD": 0.6}},
{"A004": {"ABC": 0.4, "ABD": 0.6}},
]
one_dict = defaultdict(set)
for r in list1:
one_dict[tuple([*r.values()][0].items())].add([*r.keys()][0])
print(f"{'Account Name':<15}{'Duplicates'}")
for k, v in one_dict.items():
for i in v:
print(f"{i:<15}{', '.join(v - {i}) if 1 < len(v) else 'No duplicate'}")
</code></pre>
<p>输出:</p>
<pre><code>Account Name Duplicates
A001 A003, A004
A003 A001, A004
A004 A001, A003
A002 No duplicate
</code></pre>