У меня есть список кортежей:
seqList=[('SQ010', ('sh001', '1-10')), ('SQ010', ('sh002', '5-15')), ('SQ010', ('sh003', '6-16')), ('SQ010', ('sh004', '7-17')), ('SQ020', ('sh001', '8-18')), ('SQ020', ('sh002', '9-19')), ('SQ020', ('sh003', '10-20'))]
Я хочу объединить каждый элемент с одним и тем же первым массивом, чтобы получить такой вывод:
[('SQ010', ('sh001', '1-10'), ('sh002', '5-15'), ('sh003', '6-16'), ('sh004', '7-17')), ('SQ020', ('sh001', '8-18'), ('sh002', '9-19'),('sh003', '10-20'))]
Я пробовал с groupby с следующий код:
from itertools import groupby
output_list = [tuple(i[1] for i in e) for _, e in groupby(seqList, lambda x: x[0])]
print output_list
это результат:
[(('sh001', '1-10'), ('sh002', '5-15'), ('sh003', '6-16'), ('sh004', '7-17')), (('sh001', '8-18'), ('sh002', '9-19'), ('sh003', '10-20'))]
Я не понимаю, почему я потерял часть SQXXX и как получить желаемый результат. спасибо