Comment imprimer les valeurs assignées en boucle en python? [dupliquer]
Oct 12 2020
J'ai attribué les valeurs aux variables nouvellement créées dans une boucle et je veux imprimer les valeurs des variables nouvellement créées.
for i,j in zip(range(0,2)):
exec(f'cat{i} = 1')
Je veux imprimer cat_0 et cat_1 dans la boucle
Réponses
2 KonradRudolph Oct 12 2020 at 17:20
Comme l'a commenté Juan, il n'y a jamais de bonne raison de faire cela. Utilisez une liste régulière:
cat = [0] * 2
for i in range(0, 2):
cat[i] = 1
… Je suppose que le code réel fait quelque chose de plus intéressant; sinon vous vous passeriez simplement d' cat = [1] * 2une boucle.
Ou, si votre iest une valeur non numérique (ou numérique mais non contiguë), utilisez un dict:
cat = {}
for i in ['foo', 'bar', 'baz']:
cat[i] = 1
Cependant, encore une fois, vous pouvez écrire ce type de code de manière plus concise et sans boucle:
cat = {key: 1 for key in ['foo', 'bar', 'baz']}