我想创建一个包含N个列表的列表,每个列表都将填充将按以下方式计算的值:
for i in range(R): for j in range(R): b.append(a[i]-a[j])
i和j与步骤2之间的所有差异
我有这段代码:
b = []
for i in range(N):
b.append([])
for j in range(R):
b[i].append([])
for k in range(R,2):
b[i][j].append(a[j]-a[k])
print b
给出了:
[[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]]
答案 0 :(得分:0)
我不确定N,R和a是什么,但我认为问题在范围内(R,2)。它应该是范围(0,R,2)。现在你的最后一个for循环没有做任何事情。我也不确定那里有什么'做'。
N = 5
R = 4
b = []
for i in range(N):
b.append([])
for j in range(R):
b[i].append([])
for k in range(0,R,2):
b[i][j].append(j - k)
print b
上面的代码返回以下内容:
[[[0, -2], [1, -1], [2, 0], [3, 1]], [[0, -2], [1, -1], [2, 0], [3, 1]], [[0, -2], [1, -1], [2, 0], [3, 1]], [[0, -2], [1, -1], [2, 0], [3, 1]], [[0, -2], [1, -1], [2, 0], [3, 1]]]
这是R个R / 2值列表的N个列表。这就是你要追求的吗?