在完成作业的过程中,用numpy创建了一个五维度矩阵C,在过程中想要通过另外一个sa1*5的list访问C中的一个点(就如同在二维矩阵中给定x,y来定一个点一个想法),但是在过程中传入始终会有如下错误:
大概描述一下错误就是:C为30×32×5×5×9的np矩阵,sa为1×5list向量,我希望能够把sa中每一个元素传入C中,C[sa]是会报错的,他认为在上图中,sa=[25,30,1,1,5]时就不能带入C,因为sa第一维度index=30超过了C第零维度size=30。
目前的解决办法,不用C[sa],而是将索引从sa展开[sa[0],sa[1],sa[2],sa[3],sa[4]],这样就解决了这个问题,目前了解到这个bug的主要原因是numpy在索引时并不是像我希望的那样,(((C[25])[30])[1])...这样一层层带下去的,对于传入的这一整个列表或者元组似乎是将他认为是某一维度的多个索引(比如在这里,sa他就认为是5个点的第0维度的索引),因此报了这个错。
应该还会有更好的解决方法,学习到了再更新qwq