不使用Dictionary动态创建Python变量的试用版



我试图通过以下代码在python中动态创建变量:

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

令人惊讶的是,这并没有显示出任何错误,这是我所预料到的。但在调用变量时,我遇到了一些意想不到的事情:

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

是什么抑制了创作中的错误,是什么引发了这里的错误?

见Yosua的回答。

请也看看这个问题:在循环中如何创建不同的变量名?

如果你真的需要在没有字典的情况下完成,你可以使用科林的答案:

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

但是,我不建议使用这个。这不是一个非常优雅的解决方案。

动态Python变量是什么意思?

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

该代码基本上将一个变量xi分配给字符串'wow'9次。

您还没有在任何地方定义x1(Python不会将xi更改为x1x2,它们都是不同的变量名(

最新更新