python怎么实现二维数组的对角线遍历(python,二维数组,开发技术)

时间:2024-05-01 11:15:37 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

第一种情况:从左上角出发,右下角结束

要完成的事情,就像下图:

python怎么实现二维数组的对角线遍历

话不多说,直接上Python实现代码与结果展示:

#输出遍历的索引与其对应的值A=[[1,2,3],[4,5,6],[7,8,9]]n=len(A)foriinrange(n+n-1):forjinrange(i+1):k=i-jifk<nandk>=0andj<n:print("对应索引:",j,k,"对应值:",A[j][k])

python怎么实现二维数组的对角线遍历

第二种情况:从右上角出发,左下角结束

情况如下:

python怎么实现二维数组的对角线遍历

原以为这一种的解决方式会和上一种的一样的简单,但是尝试一下失败了,只有一个“曲线救国”的解决办法:依据索引关系输出结果

自己的Python实现代码与结果展示:

A=[[1,2,3],[4,5,6],[7,8,9]]#得到下标索引size=len(A)list_i=[]#第一索引list_j=[]#第二索引正序l1=[]#第二索引逆序forminrange(2*size-1):forninrange(m+1):k=m-nifk<sizeandk>=0andn<size:list_i.append(n)list_j.append(k)print("第一索引i:\n",list_i)print("第二索引j:")foriinrange(len(list_j)):a=list_j.pop()l1.append(a)print(l1,"\n"*2,"输出结果如下:")foriinrange(len(list_i)):print(A[list_i[i]][l1[i]],end="")

python怎么实现二维数组的对角线遍历

前辈jiaobuchong的Python实现代码与结果展示:

arr1=[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]foreach_arrinarr1:print(each_arr)tem_arr=[]#用来记录数组值rows=len(arr1)cols=len(arr1[0])defisValidIndex(x,n):return(x>=0andx<n)#每一行的每个值的数组下标的差都一样,foriinrange(cols*2-1):#共输出cols*2-1行diff=cols-i-1#每一行的差forjinrange(cols):#数组中每一个值的下标范围是0到colsk=j-diff#通过一个下标值计算另一个下标值ifisValidIndex(k,rows):#剩下就是判断这些下标值是否满足当前的情况,这一步不怎么好理解print(arr1[k][j],'',end='')print()

python怎么实现二维数组的对角线遍历

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:python怎么实现二维数组的对角线遍历的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:实例讲解JavaScript预编译流程下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18