请大神给解释一下,这个a[i,j]的结果都是怎么从a里取出来的,我怎么没看懂[i,j]表示的意思
2 回答
![?](http://img1.sycdn.imooc.com/533e4d5b0001d57502200203-100-100.jpg)
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
把它带进去就是
a[ [[0,1],[1,2]], [[2,1],[3,3]] ]
进行上下对应取索引为[0,2],[1,1]这两个元素作为第一行;取索引为[1,3],[2,3]这两个元素作为第二行,得到输出结果
这种索引方法属于花式索引的一种,很迷,我都是规律理解出来的,不太清楚原理
这是我当时学numpy的自己的理解,你看一下明不明白,如果是三维的话就接收三个参数以此类推
![?](http://img1.sycdn.imooc.com/533e4c640001354402000200-100-100.jpg)
慕斯王
TA贡献1864条经验 获得超2个赞
感谢β_3000的启发,原来好多东西在纸上画画就会清楚很多。
a = arange(12).reshape(3,4) i = array( [ [0,1], [1,2] ] ) j = array( [ [2,1], [3,3] ] ) print(a[i]) print(a[i,j])
a是一个二维数组,用二维数组i索引后竟然变成一个三维数组,如图:
那么a[i,j]就是在a[i]上再按j索引一次?我不知道对不对,至少从结果上看是对了。
添加回答
举报
0/150
提交
取消