我有一个名为A0
A0 = [[0 for x in range(3)] for y in range(3)]
我有一个名为newProb
的函数,它将此作为参数并以下列方式返回另一个2D矩阵: -
A1 = newProb(A0)
所以,我想把这段代码放到循环中。
A1 = newProb(A0)
A2 = newProb(A1)
A3 = newProb(A2)
A4 = newProb(A3)
任何帮助将不胜感激。谢谢!
P.S。我必须以上述方式对该函数进行100次调用
答案 0 :(得分:1)
不要试图在循环中创建局部变量,而是最好将结果存储在列表中。您的列表索引将与您的命名约定完美排列。
A = []
A.append([[0 for x in range(3)] for y in range(3)])
A[1] = newProb(A[0])
A[2] = newProb(A[1])
# ...
然后,您可以使用range
轻松将其置于循环中。
# start the range off by 1
for i in range(1, 10):
A[i] = newProb(A[i - 1])
这也可以写成
for i in range(10):
A.append(newProb(A[i]))
答案 1 :(得分:0)
使用dict
:
A = {}
A[0] = [[0 for x in range(3)] for y in range(3)]
for i in range(1, 101):
A[i] = newProb(A[i-1])
答案 2 :(得分:0)
您可以将值存储在如下所示的列表中:
A = [A0]
for i in range(99):
A.append(newProb(A[i]))
答案 3 :(得分:0)
结合@jez和@Soviut的答案:
A = []
A.append([[0 for x in range(3)] for y in range(3)])
for i in range(100):
A.append(newProb(A[-1])
A[-1]
是列表中的最后一个元素。
答案 4 :(得分:0)
如果您只是需要' final'值,在第100个循环之后:
value = [[0 for x in range(3)] for y in range(3)]
for i in range(100):
value = newProb(value)
答案 5 :(得分:0)
使用while循环完成答案
A = [A0]
while len(A) < 100:
A.append(newProb(A[-1]))