在不使用numpy的情况下,可以使用纯Python代码来获得所有的对角二维表。以下是一个示例代码:
def get_all_diagonal_tables(matrix):
rows = len(matrix)
cols = len(matrix[0])
tables = []
# 获取主对角线
main_diagonal = []
for i in range(min(rows, cols)):
main_diagonal.append(matrix[i][i])
tables.append(main_diagonal)
# 获取副对角线
if rows >= cols:
for i in range(cols):
diagonal = []
r = 0
c = i
while r < rows and c >= 0:
diagonal.append(matrix[r][c])
r += 1
c -= 1
tables.append(diagonal)
else:
for i in range(rows):
diagonal = []
r = i
c = cols - 1
while r < rows and c >= 0:
diagonal.append(matrix[r][c])
r += 1
c -= 1
tables.append(diagonal)
return tables
这个函数接受一个二维矩阵作为输入,并返回一个包含所有对角线表的列表。其中,主对角线是从左上角到右下角的对角线,副对角线是从右上角到左下角的对角线。
使用示例:
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
diagonal_tables = get_all_diagonal_tables(matrix)
for table in diagonal_tables:
print(table)
输出结果:
[1, 5, 9]
[2, 6]
[3]
[4, 8]
[7]
这个函数可以适用于任意大小的二维矩阵,并且不依赖于任何第三方库。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云