Itérer sur *args?
J'ai un script que je suis en train de travailler sur l'endroit où j'ai besoin d'accepter plusieurs arguments, puis itérer sur eux pour effectuer des actions. J'ai commencé à descendre le chemin de la définition d'une fonction et l'utilisation *args. Pour l'instant j'ai quelque chose comme ci-dessous:
def userInput(ItemA, ItemB, *args):
THIS = ItemA
THAT = ItemB
MORE = *args
Ce que j'essaie de faire est d'obtenir les arguments de *args dans une liste que je peux parcourir. J'ai regardé d'autres questions sur StackOverflow ainsi que sur Google mais je n'arrive pas à trouver une réponse à ce que je veux faire. Merci d'avance pour l'aide.
+1 je ne sais pas pourquoi vous l'avez obtenu downvoted.
Réglage
Réglage
MORE = *args
vous donnera une erreur de syntaxe. *
est l'objet iterable déballage de l'opérateur. À l'aide de MORE = args
(chute de l'astérisque) devrait vous obtenir ce que vous voulez.OriginalL'auteur Paul | 2012-03-05
Vous devez vous connecter pour publier un commentaire.
Tho obtenir votre précis syntaxe:
Vous retirez le
*
en face deargs
dans l'attribution deMORE
. Puis de plus en PLUS devient un tuple avec la longueur variable contenu deargs
dans la signature deuserInput
De sortie:
Comme d'autres l'ont dit, il est plus habituel pour traiter
args
comme un objet iterable:De sortie:
OriginalL'auteur the wolf
edit: Voir aussi Comment l'utiliser *args et **kwargs en Python (citées par Jeremy D et subhacom).
OriginalL'auteur Steven Rumbalski
Si vous faites cela :
Autres informations: http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/
OriginalL'auteur Jeremy D
Ou directement:
OriginalL'auteur Magnus Hoff
Si votre question est "comment puis-je effectuer une itération sur
args
", alors la réponse est "de la même manière que vous itérer sur quoi que ce soit":for arg in args: print arg
.OriginalL'auteur Marcin
Juste itérer sur
args
:OriginalL'auteur Linus Gustav Larsson Thiel
Première entrée dans:
http://www.google.com/search?q=python+*args
viz.
http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/
devrait résoudre votre problème,
OriginalL'auteur subhacom