#python Création de n variables dans une boucle?
Résolu/Fermé
A voir également:
- Créer des variables dans une boucle python
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail pour une autre personne - Forum Gmail
- Comment créer un groupe whatsapp - Guide
- Créer une adresse hotmail - 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