我正在尝试定义k个变量,看起来像x1,x2,... xn,其中每个变量都是一个列表(每个列表有5个元素)。意思是:
类似的东西:
for i in [1..100]:
"x" + str(i) = [ i + 2, i + 3, i + 3, i + 2, i + 4]
print ""x" + str(i)", 'x' + str(i)
ideal output:
x1 = [3,4,4,3,5]
x2 = ...
x3
x4
.
.
.
x100 =
我收到'无效语法'消息。我对能够让我解决这个相当简单的障碍的任何事情持开放态度。
答案 0 :(得分:2)
您想要的是列表清单。有了列表理解,那就是
lists = [[i+2, i+3, i+3, i+2, i+4] for i in range(1, 101)]
这相当于以下for
循环:
lists = []
for i in range(1, 101):
lists.append([i+2, i+3, i+3, i+2, i+4])
不是写x1
,而是写lists[0]
。如果你想对元素进行数学运算,
lists[3][2] - lists[6][3]
将是您要写的而不是
x4[2] - x7[3]
答案 1 :(得分:0)
您可以使用class
或globals
或locals
dict执行此操作,例如:
class foo: pass
setattr(foo, 'variable', 'value')
print foo.variable
__dict__
的另一个例子:
class bar:
def add_var(self, variable, value):
self.__dict__[variable] = value
bar = bar()
bar.add_var("variable", "value")
print bar.variable
globals
的示例:
globals()['variable'] = "value"
print variable
与locals
相同:
locals()['var'] = "value"
print var