Maison >développement back-end >Tutoriel Python >Tutoriel sur la liste Python Jour2
Ce code Python démontre plusieurs manipulations de matrices et de chaînes. Décomposons chaque section :
1. Transposition matricielle :
Cette section calcule la transposée d'une matrice donnée. La transposition d'une matrice est obtenue en interchangeant ses lignes et ses colonnes. Le code parcourt les lignes et les colonnes, construisant la matrice transposée. Cependant, la boucle while
est incomplète et contient une erreur de syntaxe (cdefab
). Voici une version corrigée et plus efficace :
<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>
Ceci utilise la compréhension de liste pour une solution concise et pythonique.
2. Rotation des cordes :
Cette partie fait pivoter une chaîne d'un nombre spécifié de positions. Le num % len(word)
garantit que la rotation s'enroule correctement, gérant à la fois les rotations positives et négatives. Le code est fonctionnel.
3. Opérations de ligne/colonne matricielle :
Cette section effectue plusieurs opérations sur une matrice : additionner les éléments de chaque ligne, trouver les valeurs maximales et minimales dans chaque ligne. Le code calcule correctement la somme de chaque ligne. Cependant, le code permettant de trouver la valeur minimale est incomplet. Voici une version corrigée :
<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>
Cette version améliorée exploite les fonctions intégrées sum()
, max()
et min()
de Python pour une meilleure lisibilité et efficacité.
4. Somme de colonne matricielle et somme diagonale principale :
Cette partie est manquante. Pour calculer la somme des colonnes et la diagonale principale, vous devrez ajouter le code suivant :
<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>
Ce code calcule efficacement les sommes de colonnes en utilisant la compréhension de liste et la somme diagonale principale. N'oubliez pas que la somme diagonale principale ne fonctionne correctement que pour les matrices carrées (matrices avec le même nombre de lignes et de colonnes).
En résumé, le code original comporte quelques erreurs et omissions. Les corrections et ajouts fournis offrent une mise en œuvre plus complète et efficace des manipulations de matrice et de chaîne prévues. L'utilisation de fonctions intégrées autant que possible améliore considérablement la lisibilité et les performances du code.
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!