我有一个嵌套的for循环,我希望结果也存储在一个嵌套的列表中。代码如下:
n_row = 5
n_col = 2
result = []
for r in range(n_row):
for c in range(n_col):
a = r*2
b = c+1
d = a-b
result.append(d)
结果如下:
[-1, -2, 1, 0, 3, 2, 5, 4, 7, 6]
但是,我希望每一行都在一个单独的列表中,结果如下所示:
[[-1, -2], [1, 0], [3, 2], [5, 4], [7, 6]]
有人能帮我解决这个问题吗?
5条答案
按热度按时间xt0899hw1#
你只需要在遍历每一行时创建它们:
我为它创建了每个
row
和append()
,但我将行附加到result
列表中,而不是每个计算的元素。按要求输出。
3htmauhk2#
你可以通过@quamrana将循环重写为answer,但如果你正在寻找一个快速的解决方案,请将以下内容添加到代码中:
它所做的是循环原始的“result”,每次n_col,并构造一个新数组。
为了更容易理解,请注意,对于n_col=2,您可以等效地用途:
相关资源:List Comprehension
0yg35tkg3#
你就快成功了你只需要将行附加到结果中,并将值添加到每一行,而不是将它们添加到顶级列表中:
zdwk9cvp4#
您可以通过以下方式获得结果:
ep6jt1vc5#