Pergunta

Como eu poderia descompactar uma tupla de desconhecido para, digamos, uma lista?

Eu tenho um número de colunas de dados e eles ficam divididos em uma tupla por alguma função. Eu quero descompactar este tupla a variáveis, mas eu não sei quantas colunas terei. Existe alguma maneira para dinamicamente descompacte-o para tantas variáveis ??quanto eu preciso?

Obrigado por sua ajuda:)

Foi útil?

Solução

Descompacte o tuple a uma lista?

l = list(t)

Outras dicas

Você pode usar o asterisco para descompactar um comprimento variável. Por exemplo:

foo, bar, *other = funct()

Esta deve colocar o primeiro item em foo, o segundo em bar, e todo o resto em other.

Update: eu esqueci de mencionar que este é Python 3.0 compatível apenas

.

Você quer dizer que você deseja criar variáveis ??na mosca? Como será o seu programa de know-how para referenciá-los, se eles são criados dinamicamente?

Tuples têm comprimentos, assim como listas. É perfeitamente admissível que fazer algo como:

total_columns = len(the_tuple)

Você também pode converter uma tupla a uma lista, embora não há nenhum benefício para fazê-lo a menos que você quiser começar a modificar os resultados. (Tuples não pode ser modificado; listas podem.) Mas, de qualquer maneira, a conversão de uma tupla a uma lista é trivial:

my_list = list(the_tuple)

Não são maneiras de criar variáveis ??na mosca (por exemplo, com eval), mas novamente, como você sabe como fazer referência a eles?

Eu acho que você deve esclarecer exatamente o que você está tentando fazer aqui.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top