Переставить кортеж кортежей в Python

у меня есть кортеж кортежей:

t = ((1, 'one'), (2, 'two'))

мне нужно в следующем формате:

((1, 2), ('one', 'two'))

как я могу преобразовать его? Я могу сделать что-то вроде:

digits     =  tuple ( digit for digit, word in t )
words      =  tuple ( word for digit, word in t )
rearranged =  tuple ( digits, words )

но это кажется не элегантным, я полагаю, что есть более простое решение.

1 ответов


использовать следующий:

tuple(zip(*t))