對角線就是矩陣中的交叉元素。
一個方陣有兩個對角線。一個是主對角線 - 從方陣的左上角到右下角。另一個是副對角線 - 從方陣的右上角到左下角。
交換對角線只是改變矩陣的主對角線和次對角線元素。
請查看以下場景,以便簡要了解
假設我們有方陣。輸出矩陣將是結果矩陣,其對角線互換。
Input matrix: [1, 3, 4] [4, 5, 6] [7, 8, 3] Output matrix: [4, 3, 1] [4, 5, 6] [3, 8, 7]
讓我們考慮一個4X4矩陣。
Input matrix: ['o', 't', 'l', 'K'] ['v', 'P', 's', 'm'] ['E', 's', 'X', 'c'] ['e', 'p', 'O', 'j'] Output matrix: ['K', 't', 'l', 'o'] ['v', 's', 'P', 'm'] ['E', 's', 'X', 'c'] ['j', 'p', 'O', 'e']
在Python中,index()、pop()、insert()和append()方法都是列表方法。而在這裡,透過使用列表的列表來建立矩陣,以便我們可以使用這些列表方法來交換對角線。
index() − index() 方法傳回給定值第一次出現的位置。
pop() − pop方法會移除指定位置的元素。預設情況下,它會移除最後一個元素。
insert() − 這個方法可以用來在任意位置插入元素。此方法接受兩個參數,一個是要插入的元素,另一個是要插入的位置的索引。
append() − 方法用於在清單末端新增一個元素。
在這個範例中,display()函數將會印出給定的矩陣。而interchangeDiagonals()函數將交換元素。
#function for displaying matrix def display(matrix): for row in matrix: print(row) print() # interchanging the diagonals elements def interchangeDiagonals(matrix): for row in matrix: if matrix.index(row) != len(matrix) // 2: temp1 = row[-1] temp2 = row[0] row.pop() row.pop(0) row.insert(0, temp1) row.append(temp2) return matrix # input matrix matrix = [[1, 3, 4], [4, 5, 6], [7, 8, 3]] # displaying original matrix print("Original matrix: ") display(matrix) # displaying changed matrix print("Changed matrix: ") display(interchangeDiagonals(matrix))
Original matrix: [1, 3, 4] [4, 5, 6] [7, 8, 3] Changed matrix: [4, 3, 1] [4, 5, 6] [3, 8, 7]
透過使用Python列表方法,我們成功地交換了給定矩陣的對角線元素。
注意− 上述方法僅適用於3X3矩陣。
以上是Python程式交換矩陣對角線的元素,使用預先定義的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!