我试图通过以下代码在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
更改为x1
或x2
,它们都是不同的变量名(