Wie summiere ich ein 2D-Array in Python?

7

Ich möchte ein zweidimensionales Array in Python summieren:

Hier ist was ich habe:

%Vor%

Er zeigt 4 anstelle von 21 an (1 + 2 + 3 + 4 + 5 + 6 = 21). Wo ist mein Fehler?

    
Ronaldinho Learn Coding 23.05.2012, 03:43
quelle

9 Antworten

4

Dies ist das Problem

%Vor%

probiere

aus %Vor%

Pythons Bereich (x) geht bereits von 0..x-1

  

Bereich (...)       Bereich ([start,] stop [, Schritt]) - & gt; Liste der Ganzzahlen

%Vor%
    
dfb 23.05.2012, 03:45
quelle
17

Sie könnten diese Funktion wie folgt umschreiben,

%Vor%

Grundsätzlich gibt map(sum, input) eine Liste mit den Summen über alle Zeilen zurück, dann addiert die äußerste sum diese Liste.

Beispiel:

%Vor%     
machow 23.05.2012 03:58
quelle
14

Ich denke, das ist besser:

%Vor%     
hit9 27.11.2012 06:07
quelle
5

Besser noch, vergiss die Indexzähler und iteriere einfach über die Items selbst:

%Vor%

Eine der netten (und idiomatischen) Funktionen von Python ist es, es für Sie zählen zu lassen. sum() ist eine integrierte Komponente, und Sie sollten keine Namen von Built-Ins für Ihre eigenen Bezeichner verwenden.

    
msw 23.05.2012 03:59
quelle
3

Sie können eine rekursive Lösung verwenden:

%Vor%

Ergebnis:

%Vor%

Und numpy Lösung ist nur:

%Vor%

Ergebnis:

%Vor%     
Akavall 23.05.2012 03:50
quelle
2

Dies ist noch eine alternative Lösung

%Vor%     
Ajay 14.05.2015 16:44
quelle
1

range() in Python schließt das letzte Element aus. Mit anderen Worten, range(1, 5) ist [1, 5] oder [1, 4]. Sie sollten also len(input) verwenden, um über die Zeilen / Spalten zu iterieren.

%Vor%     
spinlok 23.05.2012 03:45
quelle
1

Stellen Sie nicht -1 in den Bereich (len (input) -1), sondern verwenden Sie:

%Vor% Der Bereich

gibt automatisch eine Liste zurück, die um eins kleiner ist als der Argumentwert. Daher ist es nicht erforderlich, -1

explizit anzugeben     
Kartik Anand 23.05.2012 03:46
quelle
0

Schnelle Antwort, verwenden ...

total = Summe (Karte (Summe, [Array]))

Dabei steht [Array] für den Array-Titel.

    
Finger Picking Good 01.04.2018 20:54
quelle

Tags und Links