Domanda

Come potrei decomprimere una tupla di sconosciuta, per esempio, in un elenco?

Ho un numero di colonne di dati e sono divise in una tupla da una funzione. Voglio decomprimere questa tupla in variabili ma non so quante colonne avrò. C'è un modo per decomprimerlo dinamicamente in tutte le variabili di cui ho bisogno?

Grazie per l'aiuto :)

È stato utile?

Soluzione

Disimballare la tupla in un elenco?

l = list(t)

Altri suggerimenti

È possibile utilizzare l'asterisco per decomprimere una lunghezza variabile. Ad esempio:

foo, bar, *other = funct()

Questo dovrebbe mettere il primo elemento in foo , il secondo in bar e tutto il resto in altro .

Aggiornamento: Ho dimenticato di dire che questo è compatibile solo con Python 3.0.

Vuoi dire che vuoi creare variabili al volo? In che modo il tuo programma saprà come fare riferimento a questi, se creati dinamicamente?

Le tuple hanno lunghezze, proprio come le liste. È perfettamente permesso fare qualcosa del tipo:

total_columns = len(the_tuple)

Puoi anche convertire una tupla in un elenco, sebbene non ci sia alcun vantaggio nel farlo a meno che tu non voglia iniziare a modificare i risultati. (Le tuple non possono essere modificate; le liste possono.) Ma, comunque, convertire una tupla in una lista è banale:

my_list = list(the_tuple)

Ci sono ci sono modi per creare variabili al volo (ad es. con eval ), ma ancora, come faresti a fare riferimento a loro?

Penso che dovresti chiarire esattamente cosa stai cercando di fare qui.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top