所以这是一个例子。最后,[[]]应包含所有b列表。你需要任何其他细节???
a [[]]
b[]
n = 0;
for w in g:
b = ["1", "2", "3"]
a[0] = b // now a[0] contains ["1", "2", "3"]
do some changes to b
n += 1
......
next iteration of the loop
b = ["5", "6", "7"]
a[1] = b // now a[1] contains ["5", "6", "7"]
n +=1 (now n is 2)
and so on..
The error I get is - IndexError: list assignment index out of range
答案 0 :(得分:1)
我想你想要:
a = []
for x in y:
# stuff happens
# ...
a.append(b[:])
这将使a
成为列表列表,其中每个子列表是来自一次循环迭代的列表b
的副本。您不能指定超出列表末尾的内容,例如
a = []
a[0] = "foo"
因为a[0]
不存在,直到您append
或extend
列表为止。
答案 1 :(得分:0)
这是一个阴暗的尝试,因为你的OP非常模糊。
在行之间阅读:
while n < len(a):
for i in b:
a[n].append(i)
n += 1