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

  介绍

这篇文章主要介绍了python怎么实现二维数组的对角线遍历,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

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

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

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

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

#,输出遍历的索引与其对应的值   A =, [[1, 2, 3],   (4、5、6),   ,[7 8 9]]      n =, len (A)   for 小姐:拷贝范围(n + n - 1):   ,for  j 拷贝范围(i + 1):   ,k =i j   ,if  k< n 以及k>=0,以及j

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

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

情况如下:

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

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

自己的<强> python实现代码与结果展示:

A =, [[1, 2, 3],   (4、5、6),   ,[7 8 9]]      #,得到下标索引   size =, len (A)   时间=list_i [], #,第一索引   时间=list_j [], #,第二索引正序   时间=l1 [],, #,第二索引逆序   for  m 拷贝范围(2 *号):   ,for  n 拷贝范围(m + 1):   ,k =m n   ,if  k< size 以及k>=0,以及n<大小:   list_i.append才能(n)   list_j.append才能(k)      print(“第一索引我:\ n",, list_i)   print(“第二索引珍:“)   for 小姐:拷贝范围(len (list_j)):=,,a  list_j.pop ()   ,l1.append (a)   打印(l1,“\ n" * 2,,“输出结果如下:“)      for 小姐:拷贝范围(len (list_i)):   ,打印([list_i[我]][l1[我]],,=,结束“,“)

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

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

arr1 =, [[1,, 2,, 3,, 4],   ,[5,6,7,8),   ,(9,10,11,12),   ,(13日,14日,15日,16]]      for  each_arr  arr1拷贝:   ,打印(each_arr)      时间=tem_arr [], #,用来记录数组值   rows =, len (arr1)   cols =, len (arr1 [0])         def  isValidIndex (x,, n):   ,return  (x 祝辞=,0,以及x  & lt;, n)   ,#每一行的每个值的数组下标的差都一样,         for 小姐:拷贝范围(cols  *, 2,安康;1):,#,共输出,cols  *, 2,安康;1行=,,diff  cols 作用;小姐:安康;1,#,每一行的差   ,for  j 范围(关口):拷贝,#,数组中每一个值的下标范围是0到关口=,,k  j 作用;diff  #,通过一个下标值计算另一个下标值   ,if  isValidIndex (k,行):,#,剩下就是判断这些下标值是否满足当前的情况,,这一步不怎么好理解   打印才能(arr1 [k] [j], & # 39;, & # 39;,,结束=& # 39;& # 39;)   之前,print ()

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

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