在Python中打印2D列表的对角线

在Python中打印2D列表的对角线

Python是一种高级且多功能的编程语言,开发人员通常更喜欢使用它,并且广泛用于通过机器学习和数据科学进行数据分析。它提供了处理数据的各种特性,在本文中,我们将学习如何打印2D列表的对角线。这是一个基本的任务,并且可以使用不同的方法高效地实现。

打印2D列表的对角线

在开始打印2D列表的对角线之前,我们需要了解如何表示对角线。对角线由元素组成,指的是从左上角到右下角元素的连线上的那些元素。对角线元素的基本语法如下所示,

语法

[D1 0 0]
[0 D2 0]
[0 0 D3]

上述矩阵的对角线是{D1,D2,D3}。清晰定义主对角线和副对角线的最佳方式是通过给出示例。

[D1 0 D2]
[0 D3 0]
[D4 0 D5]

主对角线元素为D1,D3,D5

次对角线元素为D2,D3,D4

方法

  • 方法1−使用函数定义打印主对角线。

  • 方法2−使用函数定义打印次对角线。

方法1:使用函数定义打印2D列表的对角线(主对角线)

通过定义函数打印元素,并且满足条件当行元素等于列元素时。

算法

  • 步骤1 −定义带有一个参数的函数对角线。

  • 步骤2 −然后使用len函数,可以得到对角矩阵的行和列的长度。

  • 步骤3 −通过列表推导,使用for循环,可以遍历行元素的列表,另一个for循环可以遍历列元素的列表。

  • 步骤4 −打印主对角线元素的条件是行和列元素相等。

  • 步骤5 −矩阵元素的列表初始化为值,然后print函数将在定义的列表中返回对角线元素。

示例

#Declaring the function with one argument as mat
def diag(mat):
#To get length using the len function of rows and columns
    rows = len(mat)
    cols = len(mat)
#To iterate through the row range
    for a in range(rows):
    # To iterate through the column range
        for b in range(cols):
#Condition to check whether the row element is equal to the column element
            if a==b:
                print(mat[a][b], end="")
        print()
#Declaring the input list of elements
mat = [[10, 0, -1],
    [0, 20, -2],
    [-3, 0, 30]]
#function is called to get the diagonal values
diag(mat)

输出

10
20
30

方法二:使用迭代方法打印二维列表的对角线(次对角线)的Python程序

打印给定列表的对角线,按照次对角线的顺序,其背后的主要条件是从最后一列到第一列,行号等于总行数减去当前元素的位置或索引的所有列。

算法

  • 第1步 −定义一个具有一个参数的函数作为矩阵。

  • 第2步 −使用len函数获取行和列的长度。

  • 第3步 −for循环将迭代遍历行和列元素的范围。

  • 第4步 −必须满足的条件是当附加行和列元素等于(n-1)时。

  • 第5步 −print函数将在每一新行中返回反对角线元素。

  • 第6步 −矩阵在单独的列表数据结构中初始化,并调用函数打印元素。

示例

#defining the function with one argument
def diag(mat):
#To get length using the len() function of rows and columns
    rows = len(mat)
    cols = len(mat)
#To iterate through the row range
    for a in range(rows):
#To iterate through the column range
        for b in range(cols):
#checking the condition to return the antidiagonal matrix 
            if (a == rows - b -1):  

                print(mat[a][b], end=" ")
        print()
#Declaring the input list of elements    
mat = [[10, 0, -1],
          [0, 20, -2],
          [-3, 0, 30]]
#function is called to get the diagonal values
diag(mat)

输出

-1
20
-3

结论

Python通过简单的概念和易于理解操作背后的概念,使过程变得更加简单。所提供的方法使用了done方法来打印主对角线和副对角线上的元素。在二维数组中通过迭代方法可以轻松地完成Python程序来打印对角线元素的任务。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程