我只想根据输入声明一些范围的列表。
例如,如果我将输入设为4,我将期待4个列表,如
list1 = []
list2 = []
list3 = []
list4 = []
我试过这个
for i in range (1,4):
list(%d) %i= []
但它不起作用。
答案 0 :(得分:0)
我同意PM-2ring的观点,在大多数情况下,列表或词典更合适。
d = {}
for i in range(1,4):
d['list%s' % i] = []
或
l = [[] for x in range(1,4)]
但要回答实际问题的实际问题,这是非常罕见的情况之一,即使存在与动态创建变量相关的所有问题(可维护性,访问,消毒用户输入等),这是正确的事情。 。
如果它是您的新信息,您可能不应该执行以下任何操作。
这取决于上下文。如果您将它们插入到对象中,它将是:
a = classA()
for i in range(1,4):
setattr(a, 'list%s' % i, [])
如果尝试创建全局变量:
for i in range(1,4):
globals()['list%s' % i] = []