Transformando um gerador de pares em um par de geradores

Como eu gerencio um gerador de pares (tuplas):

tuple_gen = (i for i in [(1, "a"), (2, "b"), (3, "c")])

Em dois geradores que renderiam[1, 2, 3] e["a", "b", "c"]?

Eu preciso processar separadamente o primeiro e o segundo elementos das tuplas e as funções de processamento esperam uma iteração.

O gerador é muito grande (milhões de itens), portanto, gostaria de evitar ter todos os itens na memória ao mesmo tempo, a menos que não haja outra solução.

questionAnswers(4)

yourAnswerToTheQuestion