Python 中二维列表的对角线打印
Python 是一种高级编程语言,也是一种多功能的语言,它最受开发人员的青睐,并且广泛用于借助机器学习和数据科学进行数据分析。它提供的用于处理数据的功能非常强大,在本文中,我们将了解如何对二维列表进行对角线打印。 这是其中一项基本任务,并且可以通过多种方法有效地实现。
打印二维列表的对角线
在开始打印二维列表的对角线之前,我们需要了解对角线是如何表示的。 对角线由元素组成,指的是从左上角到右下角元素的直线上的这些元素。 对角线元素的基本语法如下所示:
语法
[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:使用函数定义打印二维列表的对角线(主对角线)的 Python 程序
通过定义函数并满足行元素等于列元素的条件来打印元素。
算法
步骤 1 - 定义一个带有一个参数的函数 diagonal。
步骤 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
方法 2:使用迭代方法打印二维列表的对角线(次对角线)的 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 通过简单的概念和易于理解操作背后的概念,使流程变得更加简单。 给出的方法使用了打印次对角线和主对角线中元素的方法。 通过二维数组中的迭代方法可以轻松地完成打印对角线元素的 Python 程序。