この Python コードは、いくつかの行列と文字列の操作を示しています。各セクションを詳しく見てみましょう:
1.行列転置:
このセクションでは、指定された行列の転置を計算します。 行列の転置は、行と列を交換することで得られます。コードは行と列を反復処理して、転置行列を構築します。ただし、while
ループは不完全であり、構文エラー (cdefab
) が含まれています。 修正された、より効率的なバージョンは次のとおりです:
<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>
これは、簡潔で Python 的なソリューションのためにリスト内包表記を使用します。
2.文字列の回転:
この部分は、指定された位置数だけ文字列を回転します。 num % len(word)
は、正と負の両方の回転を処理して、回転が正しくラップアラウンドすることを保証します。コードは機能します。
3.行列の行/列演算:
このセクションでは、行列に対していくつかの演算を実行します。つまり、各行の要素を合計し、各行の最大値と最小値を見つけます。コードは各行の合計を正しく計算します。 ただし、最小値を見つけるコードは不完全です。 修正版は次のとおりです:
<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>
この改良バージョンは、Python の組み込み sum()
、max()
、および min()
関数を活用して、読みやすさと効率を向上させています。
4.行列の列の合計と先頭の対角の合計:
この部分がありません。列と先頭の対角線の合計を計算するには、次のコードを追加する必要があります:
<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>
このコードは、リストの内包表記と先頭の対角和を使用して列の合計を効率的に計算します。 先頭の対角和は正方行列 (行数と列数が同じ行列) に対してのみ正しく機能することに注意してください。
要約すると、元のコードにはいくつかのエラーと省略があります。 提供された修正と追加により、意図した行列と文字列の操作がより完全かつ効率的に実装されます。 可能な限り組み込み関数を使用すると、コードの可読性とパフォーマンスが大幅に向上します。
以上がPython リスト チュートリアル 2 日目の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。