이 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!