我有一个元组列表。
[('a', 1), ('b', 1), ('c',1), ('d', 2), ('e',1)]`
元组的第二个元素是它的标签。我想连接标签相同的连续第一个元素。
例如,我想转换
[('a', 1), ('b', 1), ('c',1), ('d', 2), ('e',1)]
来
[('abc',1),('d',2), ('e',1)]
答案 0 :(得分:0)
这里有一个快速的功能,可以循环遍历元组并将每个元组与前一个元组的标签进行比较,并在标签匹配时将它们连接起来。
def parse_tuples(x):
prev_tuple = list(x[0])
parsed = []
for i in x[1:]:
if i[1] == prev_tuple[1]:
prev_tuple[0] += i[0]
else:
parsed.append(tuple(prev_tuple))
prev_tuple = list(i)
parsed.append(tuple(prev_tuple))
return parsed