该规则有一个例外。“高级索引”文档部分没有提及它,但在“基本切片和索引”部分的开头附近,您会看到以下文本:
为了保持与Numeric中的常用用法向后兼容, 如果选择对象是包含切片对象 ,省略号对象或newaxis对象但不
包含切片对象的任何非ndarray序列(例如列表) , 则也将启动基本切片 。整数数组或其他嵌入式序列。
a[[1,np.array(2)]]并不会触发基本索引。它将触发向后兼容性逻辑的未记录部分,如源代码中的注释所述:
该
np.array(2)名单内引起仿佛它是一个元组,待处理的名单,但结果
a[(1,np.array(2))]仍是一种先进的索引 *** 作。最终,将
1和和
2应用于不同的轴,这与不同
a[[1, 2]],结果最终看起来与相同
a[1,2],但是如果您使用3D进行尝试
a,则会生成一个副本而不是视图。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)