首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python: IndexError:索引7超出了大小为7的轴1的边界

Python: IndexError:索引7超出了大小为7的轴1的边界
EN

Stack Overflow用户
提问于 2016-11-06 18:19:13
回答 1查看 3.9K关注 0票数 0

我尝试循环遍历一个矩阵,并使用涉及它周围的矩阵的操作来替换条目:

例如,

代码语言:javascript
复制
 xarray = np.array([3,35,7,9,8,7,6])
 yarray = np.array([2,5,1,7,3,59,2])
 zarray = np.array([3,5,6,3.5,69,2,1])
 barray = np.array([1,5,56,7,24,2,1])
 carray = np.array([1,5,56,7,24,2,1])
 darray = np.array([1,5,56,7,24,2,1])
 earray = np.array([1,5,56,7,24,2,1])
 Q = np.array([xarray,yarray,zarray,barray,carray,darray,earray])
k = np.shape(Q)
for i in range(k[0]):
    for j in range(k[1]):

$考虑了不具有相同数量周围矩阵的角点上的条目

代码语言:javascript
复制
        if i==0 or j==0 or i == k[0] or j == k[1]:
            Q[i,j] = Q[i,j]
        else:
            Q[i,j] = (Q[i,j]+Q[i-1,j]+Q[i+1,j]+Q[i,j+1]+Q[i-1,j-1]+Q[i-1,j+1])*3
print Q

但我得到了上面的错误。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-11-06 20:14:30

请记住,在python中,索引从0开始,这意味着如果ij等于数组的长度,您将得到一个错误

我在这里所做的就是为range(k[x] - 1)切换range(k[x])

代码语言:javascript
复制
for i in range(k[0] - 1):
    for j in range(k[1] - 1):
        if i==0 or j==0:
            Q[i,j] = Q[i,j]
        else:
            Q[i,j] = (Q[i,j]+Q[i-1,j]+Q[i+1,j]+Q[i,j+1]+Q[i-1,j-1]+Q[i-1,j+1])*3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40448208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档