你可以使用Python的collections模块中的defaultdict类来实现按照值分组,并允许重复。下面是一个示例代码:
from collections import defaultdict
def group_by_value(data):
result = defaultdict(list)
for key, value in data:
result[value].append(key)
return result
data = [("a", 1), ("b", 2), ("c", 1), ("d", 2), ("e", 3)]
result = group_by_value(data)
for value, keys in result.items():
print(f"Value {value}: {keys}")
这段代码将输入数据按照值进行分组,并将相同值的键存储在同一个列表中。输出结果如下:
Value 1: ['a', 'c']
Value 2: ['b', 'd']
Value 3: ['e']
在这个示例中,输入数据是一个包含键值对的列表,函数group_by_value
使用了defaultdict来创建一个空列表作为默认值。然后通过遍历输入数据,将键值对添加到对应值的列表中。最后返回包含分组结果的字典。
上一篇:按照值对嵌套字典列表进行排序