Python에서 2D 배열을 합산하는 것과 관련된 주요 문제는 그렇게 하는 구문이 상당히 복잡하고 이해하기 어려울 수 있다는 것입니다. 배열의 모양과 원하는 합계 유형에 따라 2D 배열을 합계하는 여러 가지 방법이 있기 때문입니다. 예를 들어 2D 배열의 모든 요소를 합산하려면 중첩 for 루프를 사용해야 합니다. 2D 배열의 특정 요소만 합산하려면 목록 내포 또는 기타 고급 기술을 사용해야 합니다. 또한 2D 배열은 1D 배열보다 복잡하기 때문에 오류를 디버그하기 어려울 수 있습니다.
def sum_2d_array(arr): result = 0 # iterate through rows for i in range(0, len(arr)): # iterate through columns for j in range(0, len(arr[i])): result += arr[i][j] return result
# 이 코드는 배열을 인수로 받는 sum_2d_array라는 함수를 정의합니다.
# 결과 변수는 0으로 초기화됩니다.
# for 루프는 배열의 행을 반복하는 데 사용되고 중첩 for 루프는 각 행의 열을 반복하는 데 사용됩니다.
# 배열의 각 요소에 대해 해당 값이 결과 변수에 추가됩니다.
# 마지막으로 이 함수는 배열에 있는 모든 요소의 총합을 반환합니다.
배열이란?
?
Python의 배열은 항목 모음을 저장하는 데이터 구조입니다. 목록과 유사하지만 배열에 저장된 항목은 일반적으로 동일한 유형이며 숫자 인덱스를 사용하여 액세스됩니다. 배열은 숫자, 문자열, 객체 및 기타 데이터 유형을 저장하는 데 사용할 수 있습니다. 또한 대규모 데이터 세트에서 수학 연산을 수행하는 데 유용합니다.
Python의 배열 대 목록
배열과 목록은 모두 데이터 모음을 저장하는 데 사용되는 Python의 데이터 구조입니다. 배열은 동일한 유형의 항목을 저장하는 데이터 구조이고 목록은 다른 유형의 항목을 저장할 수 있는 보다 유연한 데이터 구조입니다.
배열은 목록보다 데이터를 저장하고 액세스하는 데 더 빠르고 효율적이지만 모든 요소가 동일한 유형이어야 하므로 유연성이 제한됩니다. 반면에 목록은 다른 유형의 요소를 포함할 수 있지만 배열보다 더 많은 메모리를 차지하고 액세스 속도가 느립니다.
Python에서 2d 배열을 합산하는 방법
Python에서 2d 배열을 합산하려면 내장된 sum() 함수를 사용할 수 있습니다. 이에 대한 구문은 다음과 같습니다.
합계(배열, 축=없음)
여기서 array는 합산하려는 2차원 배열이고 axis는 합산할 배열의 축을 지정하는 선택적 인수입니다. 축에 값이 지정되지 않으면 배열의 모든 요소가 합산됩니다.
예를 들어, 2개의 행과 3개의 열을 가진 my_array라는 4차원 배열이 있는 경우:
[[1,2,3,4],
[5,6,7,8],
[9,10,11,12]]
다음 코드를 사용하여 my_array의 모든 요소를 합산할 수 있습니다.
총계 = 합계(my_array) #총계 = 78
또는 다음 코드를 사용하여 my_array의 각 행을 합산할 수 있습니다.
행_합 = 합계(my_array ,축=1) #행_합 = [10 26 42]