以下是一种解决方法,其中使用了Python中的defaultdict
和items
函数:
from collections import defaultdict
def group_by_value(dictionary):
# 创建一个defaultdict,值为列表类型
grouped_dict = defaultdict(list)
# 遍历字典的键值对
for key, value in dictionary.items():
# 将键值对按照值进行分组
grouped_dict[value].append(key)
return grouped_dict
# 示例使用
sample_dict = {'a': 1, 'b': 2, 'c': 1, 'd': 2, 'e': 3}
grouped_dict = group_by_value(sample_dict)
print(grouped_dict)
输出结果为:
defaultdict(, {1: ['a', 'c'], 2: ['b', 'd'], 3: ['e']})
以上代码中,首先创建一个defaultdict
,其中值的类型为列表。然后使用items
函数遍历字典的键值对,将键值对按照值进行分组,将具有相同值的键放入对应的列表中。最后返回分组后的字典。