如何为for循环的每次迭代创建列表?

时间:2019-06-20 10:10:50

标签: python list for-loop

我正在设置算法,但没有为每个循环索引创建列表。

我不知道在for循环中如何更改列表的名称。

for i in range(10):
   list = list.append(1 + i)

为了获得:

list0 = [1]
list1 = [2]
list2 = [3]
and so on.

我的目标是在另一个函数上调用这些列表,有没有办法用列表索引来命名这些列表?

我找不到描述我问题的任何主题。也许我不清楚我的问题。

3 个答案:

答案 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)