打印给定数组的所有对角元素[关闭]

问题描述 投票:-1回答:1
a = [['a','b','c'],
    ['d','e','f','g'],
    ['h','i','j','k'],
    ['l','m','n']]

我需要打印给定数组的对角元素,如输出将是:

[['l'],['h','m'],['d','i','n'],['a','e','j'],['b','f','k'],['c','g']]
python matrix diagonal
1个回答
2
投票

我猜这或多或少是这样的:

    a = [
    ['a','b','c'],
    ['d','e','f','g'],
    ['h','i','j','k'],
    ['l','m','n']
    ]

d = 0
while True:
  array = []
  j = (len(a)-1)-d
  k = 0
  if j<0:
    k= -j
    j = 0
  while j<len(a) and k<len(a[j]):
    array.append(a[j][k])    
    j+=1
    k+=1
  if len(array) == 0:
    break

  print(array)
  d+=1
© www.soinside.com 2019 - 2024. All rights reserved.