数组的第一个下标如何与迭代次数求和,最大迭代次数为2。
我已经尝试使用下面的代码,但我仍然得到错误的结果索引号2.
a = np.array([[858,833,123],
[323,542,927],
[938,361,271],
[679,272,451]])
max_iter = 2
for i in range(max_iter):
for j in range(len(a)):
a[j][0] += i
上面代码的结果:
[[859 833 123]
[324 542 927]
[939 361 271]
[680 272 451]]
我的预期结果是:
[859,833,123],
[325,542,927],
[939,361,271],
[681,272,451]
3条答案
按热度按时间oknwwptz1#
问题不清楚要求,我只是猜测您希望按顺序将
(1, max_iterator)
范围内的数字添加到行中,例如:如果是这样,您可以通过以下操作来完成:
输出将符合预期:
gz5pxeao2#
你快到了!你只是加错了值。
关键问题是你在不断地增加
i
,实际上(我认为)你想在第一行加1,第二行加2,第三行加1,第四行加2。请记住,行号是从1开始的索引。因此,您可以执行
% 2
,使第一行#0为0。您可以将其添加1,以获得所需的增量,即1。第二行#1给出1;加1得到2,这是该行的正确增量。
第三行#2给出0;当你加1时,你得到1,这是该行的正确增量,以此类推。
vzgqcmou3#
您可以将1和2重复到
len(a)
大小,然后将它们添加到arr
的第一列