#python Création de n variables dans une boucle?
Résolu/Fermé
A voir également:
- Créer des variables dans une boucle python
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un compte gmail pour une autre personne - Forum Gmail
- Créer une liste déroulante excel - Guide
1 réponse
La solution à ton problème est qu'il faut passer le paramètre en argument du lambda en le définissant.
Pour illustrer, voici ce que tu obtiens en n'itialisant pas l'argument :
Pour parer cela, il suffit donc de définir la variable en argument de lambda.
Le i=i est évidement arbitraire, tu peux utiliser ce que tu veux comme nom de variable, toto=i, toto sera alors à mettre dans ta fonction située dans la fonction anonyme.
Je te laisse adapter à ton code.
Pour illustrer, voici ce que tu obtiens en n'itialisant pas l'argument :
>>> d = dict()
>>> for i in range(10):
... d[i] = lambda : i
...
>>> d[5]()
9
Pour parer cela, il suffit donc de définir la variable en argument de lambda.
>>> d = dict()
>>> for i in range(10):
... d[i] = lambda i=i : i
...
>>> d[5]()
5
Le i=i est évidement arbitraire, tu peux utiliser ce que tu veux comme nom de variable, toto=i, toto sera alors à mettre dans ta fonction située dans la fonction anonyme.
Je te laisse adapter à ton code.
14 oct. 2017 à 15:48