У меня есть вложенный список, который выглядит примерно так:
first_list = [[a, 1], [b, 3], [a, 6], [a, 2], [b, 4], [b, 5], ...]
Я хочу сгруппировать их по их первому элементу и создать новый вложенный список, который выглядит следующим образом:
new_list = [ [1, 6, 2, ...], [3, 4, 5, ...], ...]
, где все элементы, которые начинаются с перехода, входят в первый подсписок и так далее.Число различных значений a, b и т. Д. Не известно до времени выполнения, или я мог бы сделать что-то вроде:
a_list = []
b_list = []
for tag, x in first_list:
if tag == a:
a_list.append(x)
elif tag == b:
b_list.append(x)
new_list = [a_list, b_list]
Однако я пытаюсь приспособить это для произвольного числа тегов.
Возможно, я пропустил важную часть вопроса, но я должен сказать, что у меня уже есть список «тегов», то есть:
tags = [a, b, c, d, ...]
На самом деле они не являются символами, отсюда и отсутствиекавычки, но в любом случае они должны быть хэшируемыми.