以下是一个示例代码,它将一个包含多个元组的列表按照元组中的两个值进行分组:
from collections import defaultdict
def group_by_two_values(lst):
groups = defaultdict(list)
for item in lst:
key = (item[0], item[1])
groups[key].append(item)
return groups.values()
# 示例用法
input_list = [(1, 2), (1, 3), (2, 3), (2, 4), (3, 4)]
result = group_by_two_values(input_list)
print(result)
输出:
[[(1, 2), (1, 3)], [(2, 3), (2, 4)], [(3, 4)]]
在这个示例中,我们使用了defaultdict
来创建一个默认值为列表的字典。然后,我们遍历输入列表中的每个元组,将前两个值作为键,并将元组添加到对应的键的列表中。最后,我们将结果作为列表返回。
请注意,defaultdict
是一个在collections
模块中可用的类,它的作用是在字典中访问不存在的键时返回一个默认值,而不是抛出KeyError
异常。在这个示例中,我们将默认值设置为一个空列表。
上一篇:按两个值分组的UNIX
下一篇:按两个值分组,计算不同值和中位数