Python-Programm zum spaltenübergreifenden Austausch der ersten und letzten Elemente in einer Matrix
Eine Matrix ist ein zweidimensionales Array aus vielen Zahlen, die in Zeilen- und Spaltenform angeordnet sind. Python verfügt über keinen Datentyp zur Darstellung einer Matrix, wir können jedoch eine verschachtelte Liste oder ein NumPy-Array als Matrix verwenden.
Sehen Sie sich die folgenden Eingabe-Ausgabe-Szenarien an, um zu verstehen, wie die ersten und letzten Spaltenelemente einer Matrix ausgetauscht werden.
Eingabe-Ausgabe-Szenarien
Angenommen, wir haben eine 3X3-Matrix, die durch eine Liste von Listen dargestellt wird. Und die Ausgabematrix ist die resultierende Matrix, deren erste und letzte Spaltenelemente vertauscht sind.
Input matrix:
[1, 3, 4]
[4, 5, 6]
[7, 8, 3]
Output matrix:
[4, 3, 1]
[4, 5, 6]
[3, 8, 7]
Betrachten wir eine andere Matrix, deren Zeilen und Spalten ungleich sind.
Input matrix:
['a', 'b']
['c', 'd', 'e']
['f', 'g', 'h', 'i']
Output matrix:
['b', 'a']
['e', 'd', 'c']
['i', 'g', 'h', 'f']
Sehen wir uns die verschiedenen Möglichkeiten an, Elemente des ersten und letzten Elements in einer Matrix spaltenübergreifend auszutauschen.
Vertauschen der Spalten
Wir können einfach die Elemente des ersten und letzten in einer Matrix spaltenübergreifend austauschen, indem wir die ersten und letzten Spaltenelemente der Matrix vertauschen.
Beispiel
Erstellen Sie eine Matrix mithilfe einer Liste von Listen, damit wir die Listenindizierungstechniken anwenden können, um die Elemente auszutauschen.
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
#function for displaying matrix
def display(matrix):
for row in matrix:
print(row)
print()
# displaying original matrix
print("Original matrix: ")
display(matrix)
# swap column elements
def swapColumns(matrix):
for i in range(len(matrix)):
t = matrix[i][0]
matrix[i][0] = matrix[i][-1]
matrix[i][-1] = t
return matrix
# displaying changed matrix
print("Changed matrix: ")
display(swapColumns(matrix))
Ausgabe
Original matrix:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
Changed matrix:
[3, 2, 1]
[6, 5, 4]
[9, 8, 7]
Die angegebene Matrix ist eine quadratische Matrix und wir haben das erste und das letzte Element der angegebenen Matrix erfolgreich über Spalten hinweg ausgetauscht, was durch die Verwendung der positiven und negativen Indizierung von Python erreicht wurde.
Beispiel
In diesem Beispiel werden wir die Spaltenelemente einer nichtquadratischen Matrix vertauschen.
matrix = [['a', 'b'], ['c', 'd', 'e'], ['f', 'g', 'h', 'i']]
#function for displaying matrix
def display(matrix):
for row in matrix:
print(row)
print()
# displaying original matrix
print("Original matrix: ")
display(matrix)
# swap column elements
def swapColumns(matrix):
for i in range(len(matrix)):
t = matrix[i][0]
matrix[i][0] = matrix[i][-1]
matrix[i][-1] = t
return matrix
# displaying changed matrix
print("Changed matrix: ")
display(swapColumns(matrix))
Ausgabe
Original matrix:
['a', 'b']
['c', 'd', 'e']
['f', 'g', 'h', 'i']
Changed matrix:
['b', 'a']
['e', 'd', 'c']
['i', 'g', 'h', 'f']
Die Matrixzeilen werden mithilfe einer for-Schleife iteriert und die Spaltenelemente werden mithilfe der Indizes ausgetauscht.
Verwendung von Listenmanipulationsmethoden
In Python sind pop(), insert() und append() Listenmanipulationsmethoden. Und die Matrix wird mithilfe der Liste von Listen erstellt, sodass wir diese Listenmanipulationsmethoden verwenden können, um das erste und letzte Element der Matrix über die Spalten hinweg auszutauschen.
pop() – Die Pop-Methode entfernt das Element an der angegebenen Position. Standardmäßig wird das letzte Element entfernt.
Syntax
list_obj.pop(index)
insert() − Mit dieser Methode kann ein Element an jeder gewünschten Position eingefügt werden. Diese Methode benötigt zwei Argumente, eines ist das Element und der Index, an dem das Element eingefügt werden muss.
Syntax
list_obj.insert(index, element)
append() – Methode wird verwendet, um ein Element am Ende der Liste hinzuzufügen.
Syntax
list_obj.append(item)
Beispiel
Nehmen wir ein Beispiel und wenden die Methoden pop(), insert() und append() an.
matrix = [[1, 3], [4, 5, 6], [7, 8, 3, 9]]
#function for displaying matrix
def display(matrix):
for row in matrix:
print(row)
print()
# displaying original matrix
print("Original matrix: ")
display(matrix)
# interchanging the element between first and last columns
for row in matrix:
temp1 = row[-1]
temp2 = row[0]
row.pop()
row.pop(0)
row.insert(0, temp1)
row.append(temp2)
# displaying changed matrix
print("Changed matrix: ")
display(matrix)
Ausgabe
Original matrix:
[1, 3]
[4, 5, 6]
[7, 8, 3, 9]
Changed matrix:
[3, 1]
[6, 5, 4]
[9, 8, 3, 7]
Mithilfe der temporären Variablen und Listenmanipulationsmethoden haben wir die Spaltenelemente erfolgreich ausgetauscht.