Основният проблем, свързан със сумирането на 2D масив в Python, е, че синтаксисът за това може да бъде доста сложен и труден за разбиране. Това е така, защото има множество начини за сумиране на 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, които се използват за съхраняване на колекции от данни. Масивът е структура от данни, която съхранява елементи от един и същи тип, докато списъкът е по-гъвкава структура от данни, която може да съхранява елементи от различни типове.
Масивите са по-бързи и по-ефективни за съхраняване и достъп до данни от списъците, но са ограничени в своята гъвкавост, тъй като всички елементи трябва да бъдат от един и същи тип. Списъците от друга страна могат да съдържат елементи от различни типове, но те заемат повече памет и са по-бавни за достъп от масивите.
Как да сумираме 2d масив в Python
За да сумирате 2d масив в Python, можете да използвате вградената функция sum(). Синтаксисът за това е както следва:
сума (масив, ос=Няма)
Където array е двумерният масив, който искате да сумирате, а axis е незадължителен аргумент, който указва коя ос на масива трябва да бъде сумирана. Ако не е дадена стойност за ос, всички елементи на масива ще бъдат сумирани.
Например, ако имаме 2d масив, наречен my_array с 3 реда и 4 колони:
[[1,2,3,4],
[5,6,7,8],
[9,10,11,12]]
Можем да използваме следния код, за да сумираме всички елементи на my_array:
общо = сума (моят_масив) #общо = 78
Или можем да използваме следния код, за да сумираме всеки ред от my_array:
row_sums = sum(my_array,axis=1) #row_sums = [10 26 42]