首页
学习
活动
专区
工具
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]

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

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

相关·内容

《机器学习》(入门1-2章)

这篇笔记适合机器学习初学者,我是加入了一个DC算法竞赛的一个小组,故开始入门机器学习,希望能够以此正式进入机器学习领域。 在网上我也找了很多入门机器学习的教程,但都不让人满意,是因为没有一个以竞赛的形式来进行教授机器学习的课程,但我在DC学院上看到了这门课程,而课程的内容设计也是涵盖了大部分机器学习的内容,虽然不是很详细,但能够系统的学习,窥探机器学习的“真身”。 学完这个我想市面上的AI算法竞赛都知道该怎么入手了,也就进入了门槛,但要想取得不错的成绩,那还需努力,这篇仅是作为入门课已是足够。虽然带有点高数的内容,但不要害怕,都是基础内容,不要对数学产生恐慌,因为正是数学造就了今天的繁荣昌盛。

03

Python数据分析(中英对照)·Introduction to NumPy Arrays NumPy 数组简介

NumPy is a Python module designed for scientific computation. NumPy是为科学计算而设计的Python模块。 NumPy has several very useful features. NumPy有几个非常有用的特性。 Here are some examples. 这里有一些例子。 NumPy arrays are n-dimensional array objects and they are a core component of scientific and numerical computation in Python. NumPy数组是n维数组对象,是Python中科学和数值计算的核心组件。 NumPy also provides tools for integrating your code with existing C,C++, and Fortran code. NUMPY还提供了将代码与现有C、C++和FORTRAN代码集成的工具。 NumPy also provides many useful tools to help you perform linear algebra, generate random numbers, and much, much more. NumPy还提供了许多有用的工具来帮助您执行线性代数、生成随机数等等。 You can learn more about NumPy from the website numpy.org. 您可以从网站NumPy.org了解更多关于NumPy的信息。 NumPy arrays are an additional data type provided by NumPy,and they are used for representing vectors and matrices. NumPy数组是NumPy提供的附加数据类型,用于表示向量和矩阵。 Unlike dynamically growing Python lists, NumPy arrays have a size that is fixed when they are constructed. 与动态增长的Python列表不同,NumPy数组的大小在构造时是固定的。 Elements of NumPy arrays are also all of the same data type leading to more efficient and simpler code than using Python’s standard data types. NumPy数组的元素也都是相同的数据类型,这使得代码比使用Python的标准数据类型更高效、更简单。 By default, the elements are floating point numbers. 默认情况下,元素是浮点数。 Let’s start by constructing an empty vector and an empty matrix. 让我们先构造一个空向量和一个空矩阵。 By the way, don’t worry if you’re not that familiar with matrices. 顺便说一句,如果你对矩阵不太熟悉,别担心。 You can just think of them as two-dimensional tables. 你可以把它们想象成二维表格。 We will always use the following way to import NumPy into Python– import numpy as np. 我们将始终使用以下方法将NumPy导入Python——将NumPy作为np导入。 This is the import we will always use. 这是我们将始终使用的导入。 We’re first going to define our first zero vector using the numpy np.zeros function. 我们首先要用numpy np.zeros函数定义我们的第一个零向量。 In this case, if we would like to have five elements in the vector,we can just type np.zeros and place the number 5 inside the parentheses. 在这种情况下,如果我们想在向量中有五个元素,我们可以只键入np.zero并将数字5放在括号内。 We can defin

02
领券