反转字典
反转一个具有非唯一可哈希值的字典。
- 使用
collections.defaultdict
创建一个默认值为list
的字典。 - 结合循环使用
dictionary.items()
将字典的值映射到键上,使用dict.append()
进行追加。 - 使用
dict()
将collections.defaultdict
转换为普通字典。
from collections import defaultdict
def collect_dictionary(obj):
inv_obj = defaultdict(list)
for key, value in obj.items():
inv_obj[value].append(key)
return dict(inv_obj)
ages = {
'Peter': 10,
'Isabel': 10,
'Anna': 9,
}
collect_dictionary(ages) # { 10: ['Peter', 'Isabel'], 9: ['Anna'] }