Heim >Backend-Entwicklung >Python-Tutorial >Python-Listen-Tutorial, Tag 2
Dieser Python-Code demonstriert verschiedene Matrix- und String-Manipulationen. Lassen Sie uns jeden Abschnitt aufschlüsseln:
1. Matrixtransponierung:
In diesem Abschnitt wird die Transponierte einer bestimmten Matrix berechnet. Die Transponierte einer Matrix entsteht durch Vertauschen ihrer Zeilen und Spalten. Der Code durchläuft die Zeilen und Spalten und erstellt so die transponierte Matrix. Allerdings ist die while
-Schleife unvollständig und enthält einen Syntaxfehler (cdefab
). Hier ist eine korrigierte und effizientere Version:
<code class="language-python">l = [[10, 12], [40, 2], [60, 3]] transpose = [[l[j][i] for j in range(len(l))] for i in range(len(l[0]))] print(transpose)</code>
Dies nutzt das Listenverständnis für eine prägnante und pythonische Lösung.
2. Saitenrotation:
Dieser Teil dreht eine Zeichenfolge um eine angegebene Anzahl von Positionen. Das num % len(word)
stellt sicher, dass die Rotation korrekt umläuft und sowohl positive als auch negative Rotationen verarbeitet. Der Code ist funktionsfähig.
3. Matrixzeilen-/Spaltenoperationen:
In diesem Abschnitt werden mehrere Operationen an einer Matrix ausgeführt: Summieren der Elemente jeder Zeile, Ermitteln der Maximal- und Minimalwerte in jeder Zeile. Der Code berechnet die Summe jeder Zeile korrekt. Der Code zum Ermitteln des Mindestwerts ist jedoch unvollständig. Hier ist eine korrigierte Version:
<code class="language-python">student_marks = [[10, 20, 30], [40, 50, 60], [70, 80, 90]] # Row sums for marks_list in student_marks: row_sum = sum(marks_list) # Use the built-in sum() function print(f"Row Sum: {row_sum}") # Row maximums for marks_list in student_marks: row_max = max(marks_list) # Use the built-in max() function print(f"Row Max: {row_max}") # Row minimums for marks_list in student_marks: row_min = min(marks_list) # Use the built-in min() function print(f"Row Min: {row_min}") print("==============================================") </code>
Diese verbesserte Version nutzt die in Python integrierten Funktionen sum()
, max()
und min()
für eine bessere Lesbarkeit und Effizienz.
4. Matrixspaltensumme und führende Diagonalsumme:
Dieser Teil fehlt. Um die Summe der Spalten und die führende Diagonale zu berechnen, müssten Sie den folgenden Code hinzufügen:
<code class="language-python"># Column sums column_sums = [sum(row[i] for row in student_marks) for i in range(len(student_marks[0]))] print(f"Column Sums: {column_sums}") # Leading diagonal sum (assuming a square matrix) leading_diagonal_sum = sum(student_marks[i][i] for i in range(len(student_marks))) print(f"Leading Diagonal Sum: {leading_diagonal_sum}")</code>
Dieser Code berechnet effizient Spaltensummen mithilfe des Listenverständnisses und der führenden Diagonalsumme. Denken Sie daran, dass die führende Diagonalsumme nur für quadratische Matrizen (Matrizen mit der gleichen Anzahl von Zeilen und Spalten) korrekt funktioniert.
Zusammenfassend lässt sich sagen, dass der Originalcode einige Fehler und Auslassungen aufweist. Die bereitgestellten Korrekturen und Ergänzungen bieten eine vollständigere und effizientere Implementierung der beabsichtigten Matrix- und String-Manipulationen. Die Verwendung integrierter Funktionen, wann immer möglich, verbessert die Lesbarkeit und Leistung des Codes erheblich.
Das obige ist der detaillierte Inhalt vonPython-Listen-Tutorial, Tag 2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!