Trial For Dynami c Python Создание переменной без использования словаря - PullRequest
1 голос
/ 05 апреля 2020

Я пытался создать динамические переменные в python с помощью следующего кода:

for i in range (1,10):
    xi = 'wow'

Удивительно, но это не показало никакой ошибки, которую я ожидал. Но при вызове переменной я столкнулся с чем-то неожиданным:

>>>x1
NameError: name 'x1' is not defined

Что подавило ошибку при создании и что привело к ошибке здесь?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2020

См. Ответ Йосуа .

Пожалуйста, проверьте этот вопрос тоже: Как вы создаете различные имена переменных, когда в al oop?

Если вам действительно нужно сделать это без словаря, Вы можете использовать ответ Коллина :

for i in range (1,10):
    exec(f"x{i} = 'wow'")

Однако я не рекомендовал бы использовать это. Это не очень элегантное решение.

0 голосов
/ 05 апреля 2020

Что вы подразумеваете под Dynami c Python Переменная ?

for i in range (1,10):
    xi = 'wow'

Этот код в основном присваивает одну переменную xi строке 'wow' 9 раз.

И вы нигде не определили x1 (Python не изменит xi на x1 или x2, все они имеют разные имена переменных)

...