【发布时间】:2018-05-01 15:25:52
【问题描述】:
在这个例子中:
In [19]: a[[1,2,3],[1,2,3]].shape
Out[19]: (3,)
In [20]: a[1:4,1:4].shape
Out[20]: (3, 3)
In [21]: a.shape
Out[21]: (100, 100)
为什么 Out[19] 不是 (3,3)? 我想使用列表的原因是因为我想做这样的事情:
a[[1,8,12],[34,45,50]].shape
这样结果将是一个 (3,3) 矩阵。
【问题讨论】:
-
我相信你想在这里用花哨的索引做的事情只适用于范围对象,而不是单个行/列索引的数组。
-
您的
a[<list>,<list>]尝试将执行类似 zip 的操作,您的结果数组将是[a[1,1], a[2,2], a[3,3]]- 这就是它不是 3x3 而是 3x1 的原因。
标签: python arrays numpy indexing