Lahendatud: sum 2d massiiv pythonis

Peamine probleem, mis on seotud Pythonis 2D-massiivi summeerimisega, on see, et selle süntaks võib olla üsna keeruline ja raskesti mõistetav. Seda seetõttu, et 2D-massiivi summeerimiseks on mitu võimalust, olenevalt massiivi kujust ja soovitud liitmise tüübist. Näiteks kui soovite liita kõik 2D-massiivi elemendid, peaksite kasutama tsüklite jaoks pesastatud. Kui soovite 2D-massiivis kokku võtta ainult teatud elemendid, peaksite kasutama loendi mõistmist või muid täiustatud tehnikaid. Lisaks võib 2D-massiividega töötamisel olla raske vigu siluda, kuna need on keerukamad kui 1D-massiivid.

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

# See kood määratleb funktsiooni nimega sum_2d_array, mis võtab argumendina massiivi.
# Tulemusmuutuja lähtestatakse 0-ks.
# For tsüklit kasutatakse massiivi ridade itereerimiseks ja pesastatud tsüklit kasutatakse iga rea ​​veergude itereerimiseks.
# Iga massiivi elemendi puhul lisatakse selle väärtus tulemusmuutujale.
# Lõpuks tagastab funktsioon massiivi kõigi elementide kogusumma.

Mis on massiiv

?

Pythonis massiiv on andmestruktuur, mis salvestab üksuste kogu. See sarnaneb loendiga, kuid massiivi salvestatud üksused on tavaliselt sama tüüpi ja neile pääseb juurde numbriliste indeksite abil. Massiive saab kasutada numbrite, stringide, objektide ja muude andmetüüpide salvestamiseks. Need on kasulikud ka suurte andmehulkade matemaatiliste toimingute tegemiseks.

Massiiv vs loend Pythonis

Massiiv ja loend on Pythoni andmestruktuur, mida kasutatakse andmekogude salvestamiseks. Massiiv on andmestruktuur, mis salvestab sama tüüpi üksusi, samas kui loend on paindlikum andmestruktuur, mis suudab salvestada erinevat tüüpi üksusi.

Massiivid on andmete salvestamiseks ja neile juurde pääsemiseks kiiremad ja tõhusamad kui loendid, kuid nende paindlikkus on piiratud, kuna kõik elemendid peavad olema sama tüüpi. Teisest küljest võivad loendid sisaldada erinevat tüüpi elemente, kuid need võtavad rohkem mälu ja on aeglasemad kui massiivid.

Kuidas Pythonis 2D massiivi summeerida

Pythonis 2d massiivi summeerimiseks saate kasutada sisseehitatud sum() funktsiooni. Selle süntaks on järgmine:

summa(massiiv, telg=puudub)

Kui massiiv on kahemõõtmeline massiiv, mille soovite liita, ja telg on valikuline argument, mis määrab, milline massiivi telg tuleb summeerida. Kui telje väärtust pole antud, summeeritakse kõik massiivi elemendid.

Näiteks kui meil on 2 rea ja 3 veeruga kahemõõtmeline massiiv nimega my_array:

[[1,2,3,4],
[5,6,7,8]
[9,10,11,12]]

Kõikide my_array elementide summeerimiseks saame kasutada järgmist koodi:

kokku = summa(minu_massiiv) #kokku = 78

Või saame kasutada järgmist koodi, et summeerida my_array iga rida:

rida_summad = summa(minu_massiiv ,telg=1) #rida_summad = [10 26 42]

Seonduvad postitused:

Jäta kommentaar