Python 如何修剪列表并生成numpy二维数组?

Python 如何修剪列表并生成numpy二维数组?,python,arrays,list,numpy,Python,Arrays,List,Numpy,假设我有一个numpy数组: [[1,2], [3,4], [5,6,7]] 是否有任何紧凑的方法来修剪阵列并使其沿第二维度对齐,即 [[1,2], [3,4], [5,6]] 切片是否适用于numpy阵列?如果是这样的话,下面的代码应该可以做到这一点 array = [[1,2], [3,4], [5,6,7]] array = numpy.array([a[:2] for a in array]) 我不确定切片是否适用于numpy数组,因此如果答案错误,我将删除此答案。当你说

假设我有一个numpy数组:

[[1,2],
 [3,4],
 [5,6,7]]
是否有任何紧凑的方法来修剪阵列并使其沿第二维度对齐,即

[[1,2],
 [3,4],
 [5,6]]

切片是否适用于numpy阵列?如果是这样的话,下面的代码应该可以做到这一点

array = [[1,2],
[3,4],
[5,6,7]]

array = numpy.array([a[:2] for a in array])

我不确定切片是否适用于numpy数组,因此如果答案错误,我将删除此答案。

当你说你有一个numpy数组
[[1,2],[3,4],[5,6,7]
,它是否打印为
数组([[1,2],[3,4],[5,6,7]],dtype=object)
?Numpy实际上不支持不规则数组@SashankGupta的答案到时候就行了(用调用
numpy.array
)不过。@Dougal谢谢,我不知道该怎么办。从未使用过numpy,但我听说数组与列表有很多相似的语法,所以我想我还是试着回答。我认为在这种情况下这是正确的答案,因为无论OP有什么,都不可能是2D numpy数组。然而,总的来说,这种事情是个坏主意。Numpy索引,像
a[:,:2]
,是固定时间,没有临时内存开销,也没有永久内存开销;像这样从listcomp构建数组是线性时间(沿一个轴),浪费了大量临时内存构建列表,并且浪费了永久内存复制数据而不是查看数据。