python: elementos do grupo de uma tupla com o mesmo primeiro elemento

eu tenho uma tupla assim

[
(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)
]

Eu gostaria de obter o seguinte:

[
(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)))
]

portanto, para qualquer elemento, qualquer coisa que não seja o primeiro elemento estará dentro de uma sub-tupla e, se o elemento a seguir tiver o mesmo elemento que o primeiro, será definido como outra sub-tupla do anterior.

para que eu possa fazer:

for i in data:
    # getting the first element of the list
    for sub_i in i[1]:
        # i access all the tuples inside

existem algumas funções para fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion