下面是一个示例代码,用于按相同键分组并用逗号连接值:
from collections import defaultdict
def group_and_join(items):
# 创建一个默认值为列表的字典
groups = defaultdict(list)
# 按相同键分组
for item in items:
key = item[0] # 假设键是元组的第一个元素
value = item[1] # 假设值是元组的第二个元素
groups[key].append(value)
# 用逗号连接值
result = []
for key, values in groups.items():
joined_values = ','.join(values)
result.append((key, joined_values))
return result
# 示例用法
items = [('A', '1'), ('A', '2'), ('B', '3'), ('B', '4')]
result = group_and_join(items)
print(result)
输出:
[('A', '1,2'), ('B', '3,4')]
在这个示例中,我们首先创建一个默认值为列表的字典groups
,然后遍历输入的项目列表items
。对于每个项目,我们使用元组的第一个元素作为键,第二个元素作为值,并将值添加到对应的键的列表中。
在完成分组后,我们遍历groups
字典的键值对,对每个键值对中的值列表使用逗号连接。最后,我们将每个键和连接后的值添加到结果列表中,并返回结果列表。