【发布时间】:2014-03-21 12:18:05
【问题描述】:
我要分配:
x0='123'
x1='123'
x2='123'
x3='123'
x4='123'
x5='123'
x6='123'
x7='123'
x8='123'
x9='123'
我编写代码来表示当输入x1或x8时,我可以得到字符串123的输出。
for i in range(0,10):
eval("x"+str(i)+"='123'")
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "<string>", line 1
x0='123'
^
SyntaxError: invalid syntax
我怎么能这样做?
【问题讨论】:
-
必填链接:Keep data out of your variable names。不要使用
eval创建变量。请改用列表或字典。 -
eval()只允许表达式。赋值不是表达式,而是语句。 -
使用
exec表示不是eval的语句,正如Martijn 所说,使用列表/字典。
标签: python