以下是一个示例代码,实现了按键减少和求和元组的功能:
def reduce_and_sum_tuple(t):
keys = []
values = []
for key, value in t:
if key not in keys:
keys.append(key)
values.append(value)
return [(key, sum(values)) for key in keys]
# 测试示例
tuple_list = [("a", 1), ("b", 2), ("a", 3), ("c", 4), ("b", 5)]
result = reduce_and_sum_tuple(tuple_list)
print(result)
输出结果为:
[('a', 4), ('b', 7), ('c', 4)]
该示例代码中,reduce_and_sum_tuple函数接受一个元组列表作为输入,并返回一个按键减少和求和后的元组列表。首先,我们创建两个空列表keys和values,用于存储唯一的键和对应的值。然后,我们遍历输入的元组列表,对于每一个元组,如果键不在keys列表中,将其添加到keys列表中,然后将值添加到values列表中。最后,我们使用列表推导式来生成最终的结果列表,其中每个元素是一个包含键和对应值求和的元组。在示例中,我们给出了一个测试列表tuple_list,调用reduce_and_sum_tuple函数,并打印结果。输出结果符合预期。