python: agrupa elementos de una tupla que tiene el mismo primer elemento
tengo una tupla como esta
[
(379146591, 'it', 55, 1, 1, 'NON ENTRARE', 'NonEntrate', 55, 1),
(4746004, 'it', 28, 2, 2, 'NON ENTRARE', 'NonEntrate', 26, 2),
(4746004, 'it', 28, 2, 2, 'TheBestTroll Group', 'TheBestTrollGroup', 2, 3)
]
Me gustaría obtener en su lugar esto:
[
(379146591, (('it', 55, 1, 1, 'NON ENTRARE', 'NonEntrate', 55, 1)),
(4746004, (('it', 28, 2, 2, 'NON ENTRARE', 'NonEntrate', 26, 2), ('it', 28, 2, 2, 'TheBestTroll Group', 'TheBestTrollGroup', 2, 3)))
]
entonces, para cualquier elemento, cualquier cosa que no sea el primer elemento está dentro de una subtupla del mismo, y si el siguiente elemento tiene el mismo elemento que el primer elemento, se establecerá como otra subtupla del anterior.
entonces puedo hacer:
for i in data:
# getting the first element of the list
for sub_i in i[1]:
# i access all the tuples inside
¿hay algunas funciones para hacer esto?