我正在尝试基于列表J
的数组A
的特定行。例如,它应该打印A
自J=[[1,4]]
以来的第1行和第4行,并按照预期输出所示进行追加。我还提供了当前输出。
import numpy as np
A=np.array([[1,2,3,4,5],
[6,7,8,9,10],
[11,12,13,14,15],
[16,17,18,19,20],
[21,22,23,24,25]])
J=[[1, 4]]
for i in J[0]:
A=A[i]
print([A])
当前输出为
[array([ 6, 7, 8, 9, 10])]
[array(10)]
预期的输出为
[array([[ 6, 7, 8, 9, 10],
[21,22,23,24,25]])]
3条答案
按热度按时间olqngx591#
可以在一行中完成:
如果要追加到列表,则:
aurhwmvo2#
问题是你在用
A=A[i]
重写循环中的A数组,所以当代码第二次试图找到A [i]时,它将过滤新的A,这是前一个循环中的行(因此输出为10)。输出:
要获得包含嵌套列表的数组的列表的精确输出,可以创建一个空列表C,并在每个循环中添加列表B,然后在最后将其转换为列表中的数组,而不是打印每个步骤,如下所示:
现在C是:
t9aqgxwy3#
定义一个空的数组变量,并在循环中添加所需的原始数组,完成后打印出该数组。
O/P将为:
更新您可以使用filter
numpy
by indicesO/P将为: