166 votes

Conversion de la liste en *args lors de l'appel de la fonction

En Python, comment convertir une liste en *args ?

J'ai besoin de savoir parce que la fonction

scikits.timeseries.lib.reportlib.Report.__init__(*args)

veut plusieurs objets time_series passés comme *args, alors que j'ai une liste d'objets time_series.

22voto

Ant Points 1953

oui, en utilisant *arg passer les args à une fonction va faire dépaqueter les valeurs dans arg par python et les passer à la fonction.

donc :

>>> def printer(*args):
 print args


>>> printer(2,3,4)
(2, 3, 4)
>>> printer(*range(2, 5))
(2, 3, 4)
>>> printer(range(2, 5))
([2, 3, 4],)
>>> 

2voto

intuited Points 7763

*args signifie simplement que la fonction prend un certain nombre d'arguments, généralement du même type.

Consultez cette section dans le tutoriel Python pour plus d'informations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X