Transformer une liste en arguments
Bonjour à tous les passionnés de ce superbe langage.:ccool:
Mon souci aujourd'hui est le suivant: je dois appeler une fonction "toto()" pouvant recevoir plusieurs arguments. Cette fonction n'est pas de moi, je ne peux pas la modifier.
Donc on peut l'appeler avec 3 arguments style toto(1, 2, 3) ou 2 arguments style toto(1, 2) ou etc.
De mon coté, je dispose des arguments dans une liste. Style a=(1, 2, 3). Et j'aimerais bien passer les éléments de cette liste à ma fonction. Mais là, si j'appelle toto(a) ça me répond que toto est prévu pour recevoir divers arguments mais pas un tuple.
Donc ma solution actuellement est la suivante
Code:
1 2 3 4 5 6 7
| if len(a) == 1:
toto(a[0])
elif len(a) == 2:
toto(a[0], a[1])
elif len(a) == 3:
toto(a[0], a[1], a[2])
etc |
Et donc ben je ne trouve pas ça super extraordinaire. Si qqun avait une solution plus élégante...
Merci à tous de votre présence. 8-)