¿Hay alguna forma de expandir una tupla de Python en una función, como parámetros reales?Expandir tuplas en argumentos
Por ejemplo, aquí expand()
hace la magia:
tuple = (1, "foo", "bar")
def myfun(number, str1, str2):
return (number * 2, str1 + str2, str2 + str1)
myfun(expand(tuple)) # (2, "foobar", "barfoo")
Sé que se podría definir como myfun
myfun((a, b, c))
, pero por supuesto puede haber código heredado. Gracias
¿Podría proporcionar una explicación de por qué el operador asteriks hace lo que se le pidió? – winklerrr
El operador * simplemente descomprime la tupla y la pasa como argumentos posicionales a la función. Consulte más aquí: https://docs.python.org/3/tutorial/controlflow.html#tut-unpacking-arguments –
Tenga en cuenta que la misma sintaxis se puede utilizar para listas y tuplas. –