Maison > Article > développement back-end > Programme Python pour échanger des éléments de la diagonale d'une matrice, en utilisant une méthode prédéfinie
La diagonale est l'élément croisé de la matrice.
Une matrice carrée a deux diagonales. L'une est la diagonale principale - du coin supérieur gauche au coin inférieur droit du carré. L'autre est la sous-diagonale - du coin supérieur droit au coin inférieur gauche du carré.
L'échange des diagonales modifie simplement les éléments principaux et sous-diagonaux de la matrice.
Veuillez consulter la scène suivante pour une brève compréhension
Supposons que nous ayons une matrice carrée. La matrice de sortie sera la matrice de résultat avec ses diagonales permutées.
Input matrix: [1, 3, 4] [4, 5, 6] [7, 8, 3] Output matrix: [4, 3, 1] [4, 5, 6] [3, 8, 7]
Considérons une matrice 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']
En Python, les méthodes index(), pop(), insert() et append() sont toutes des méthodes de liste. Et ici, la matrice est créée en utilisant une liste de listes afin que nous puissions utiliser ces méthodes de liste pour échanger les diagonales.
index() - La méthode index() renvoie la position de la première occurrence d'une valeur donnée.
pop() - La méthode pop supprimera l'élément à la position spécifiée. Par défaut, il supprime le dernier élément.
insert() - Cette méthode peut être utilisée pour insérer des éléments à n'importe quelle position. Cette méthode accepte deux paramètres, l'un est l'élément à insérer et l'autre est l'index de la position à insérer.
append() − est utilisée pour ajouter un élément à la fin de la liste.
Dans cet exemple, la fonction display() imprimera la matrice donnée. Et la fonction ExchangeDiagonals() échangera des éléments.
#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]
En utilisant la méthode de liste Python, nous avons réussi à échanger les éléments diagonaux de la matrice donnée.
Remarque− La méthode ci-dessus ne fonctionne que pour les matrices 3X3.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!