我正在设置算法,但没有为每个循环索引创建列表。
我不知道在for循环中如何更改列表的名称。
for i in range(10):
list = list.append(1 + i)
为了获得:
list0 = [1]
list1 = [2]
list2 = [3]
and so on.
我的目标是在另一个函数上调用这些列表,有没有办法用列表索引来命名这些列表?
我找不到描述我问题的任何主题。也许我不清楚我的问题。
答案 0 :(得分:3)
创建这些变量效率不高,相反会派上用场:
d = {}
for i in range(10):
d['list%s' % i] = [i + 1]
实际上可以通过以下方式完成:
d = {'list%s' % i: [i + 1] for i in range(10)}
答案 1 :(得分:0)
要回答您的问题,您可以这样做,但是我认为这不是解决问题的最佳做法:
Development
您可以看到此代码创建了10个变量:
for i in range(10):
locals()['list{}'.format(i)] = [1 + i]
我宁愿使用@ U9-Forward答案中的dict
答案 2 :(得分:0)
与其将它们全部分配给另一个列表中的引用,例如,
Lst [0] = [1]
Lst [1] = [2]
这是通过以下方式完成的:
Lst=[]
for i in range(10):
Lst.append(i+1)