擅长:python、mysql、java
<pre><code>from collections import defaultdict
myNewDict = defaultdict(list)
all_keys = d.keys()
all_keys.sort()
max_value = all_keys[-1]
for key in d:
if key != max_value:
for value in d[key]:
if value not in d[max_value]:
myNewDict[key].append(value)
</code></pre>
<p>通过取d[max\u value]中的值和其他每个键的值之间的集合差,您可以对集合操作更感兴趣,但首先,我认为您应该熟悉使用字典和列表。你知道吗</p>
<pre><code>defaultdict(<type 'list'>, {'v01': ['elem_E'], 'v02': ['elem_D']})
</code></pre>
<p>不使用集合的一个原因是解决方案没有足够的泛化,因为集合只能有可哈希对象。如果您的值是列表的列表,那么成员(子列表)是不可散列的,因此您不能使用set操作</p>