這段 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 列表教程 Day2的詳細內容。更多資訊請關注PHP中文網其他相關文章!