C'è un modo per espandere una tupla Python in una funzione, come parametri effettivi?Tuple in espansione in argomenti
Per esempio, ecco expand()
fa la magia:
tuple = (1, "foo", "bar")
def myfun(number, str1, str2):
return (number * 2, str1 + str2, str2 + str1)
myfun(expand(tuple)) # (2, "foobar", "barfoo")
So che si potrebbe definire come myfun
myfun((a, b, c))
, ma naturalmente ci possono essere codice legacy. Grazie
Potrebbe fornire una spiegazione del motivo per cui l'operatore asteriks fa ciò che è stato chiesto? – winklerrr
L'operatore * semplicemente decomprime la tupla e le passa come gli argomenti posizionali della funzione. Vedi di più qui: https://docs.python.org/3/tutorial/controlflow.html#tut-unpacking-arguments –
Si noti che la stessa sintassi può essere utilizzata per liste e tuple. –