以下是一个可以实现该功能的Python代码示例:
from collections import defaultdict
def group_by_second_value(data):
grouped_data = defaultdict(list)
for pair in data:
grouped_data[pair[1]].append(pair[0])
return grouped_data
data = [(1, 'A'), (2, 'B'), (3, 'A'), (4, 'C'), (5, 'B'), (6, 'C')]
grouped_data = group_by_second_value(data)
for key, value in grouped_data.items():
print(key, value)
输出结果:
A [1, 3]
B [2, 5]
C [4, 6]
在这个示例中,我们定义了一个名为group_by_second_value
的函数,它接受一个包含成对数据的列表作为输入。使用defaultdict
创建了一个名为grouped_data
的字典,它的默认值是一个空列表。然后,我们遍历输入数据中的每一对元素,将第二个元素作为键,将第一个元素追加到与该键关联的列表中。最后,我们返回这个分组后的字典。
在主程序中,我们使用一个包含六个元组的数据列表作为输入数据,并调用group_by_second_value
函数进行分组。然后,我们遍历分组后的字典,并打印每个键和对应的值列表。输出结果符合我们的预期:按照第二个元素进行了分组,并将与每个键相关的第一个元素作为值列表。