首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在不使用numpy的情况下获得所有的对角二维表?

在不使用numpy的情况下,可以使用纯Python代码来获得所有的对角二维表。以下是一个示例代码:

代码语言:txt
复制
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

这个函数接受一个二维矩阵作为输入,并返回一个包含所有对角线表的列表。其中,主对角线是从左上角到右下角的对角线,副对角线是从右上角到左下角的对角线。

使用示例:

代码语言:txt
复制
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

diagonal_tables = get_all_diagonal_tables(matrix)
for table in diagonal_tables:
    print(table)

输出结果:

代码语言:txt
复制
[1, 5, 9]
[2, 6]
[3]
[4, 8]
[7]

这个函数可以适用于任意大小的二维矩阵,并且不依赖于任何第三方库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券