Seite 1 von 1

Aufsummieren aller Elemente einer Liste

Verfasst: Freitag 16. April 2010, 14:48
von Horst
Hallo,
Ich habe ein Problem. Ich möchte gerne alle Elemente einer Liste aufsummieren, habe allerdings keine ahnung, wie ich das anstellen soll.
Ich würde mich freuen, wenn mir jemand helfen könnte.
Danke schon mal im Voraus.

Verfasst: Freitag 16. April 2010, 14:49
von EyDu
sum

Verfasst: Freitag 16. April 2010, 14:58
von Horst
Hallo EyDu,
Was meinst du mit sum?

bsp:

a = [1,2,3]
print (a.sum())

So gibts eine Fehlermeldung
[/code]

Verfasst: Freitag 16. April 2010, 15:03
von Nocta
sum(a) ;)

sum ist eine Funktion, keine Methode von list.

Verfasst: Freitag 16. April 2010, 15:03
von Rebecca
Mal davon abgesehen, dass du immer die Fehlermeldung mitposten solltest: Tippe mal help(sum) in die Konsole ein oder schau in die Doku.

Verfasst: Freitag 16. April 2010, 15:16
von Horst
Mit sum(a) klappt es sehr gut.
Mein problem geht aber leider noch etwas weiter.
Ich habe hier eine liste , die mit listen gefüllt ist. wie kann ich die inneren listen aufsummieren und in einenr anderen liste ausgeben?

a = [[1,2],[5,6],[7,8]] # Es soll [3,11,15] rauskommen
b = []
for i in a:
b.append(sum(i))
print (b)


Wenn ich das so mache gibt mir Python die ursprüngliche liste 'a' aus.
Weiß jemand, wo mien Fehler ist?

Verfasst: Freitag 16. April 2010, 15:19
von EyDu
map

Verfasst: Freitag 16. April 2010, 15:23
von /me
Horst hat geschrieben:a = [[1,2],[5,6],[7,8]] # Es soll [3,11,15] rauskommen
b = []
for i in a:
b.append(sum(i))
print (b)

Wenn ich das so mache gibt mir Python die ursprüngliche liste 'a' aus.
Weiß jemand, wo mien Fehler ist?
Du machst zwei Fehler.

1: Du verwendest beim Posten von Python-Code hier keine Code-Tags. Dadurch werden die für Python relevanten Leerzeichen nicht angezeigt und dein Code ist schwerer zu verstehen.
2: Du gibst uns nicht das Programm, welches die fehlerhafte Ausgabe erzeugt. Der von dir gepostete Code funktioniert bei mir mit Python 2.6 wie gewünscht.

Code: Alles auswählen

>>> a = [[1,2],[5,6],[7,8]]
>>> b = []
>>> for i in a:
	b.append(sum(i))
>>> print b
[3, 11, 15]

Verfasst: Freitag 16. April 2010, 15:28
von Horst
Ich hab einen Fehler in der Syntaxfehler gehabt.
Jetzt läufts.
Danke an alle!

Verfasst: Freitag 16. April 2010, 15:29
von Darii
/me hat geschrieben:1: Du verwendest beim Posten von Python-Code hier keine Code-Tags. Dadurch werden die für Python relevanten Leerzeichen nicht angezeigt und dein Code ist schwerer zu verstehen.
Gibt dir keine Mühe, das wurde ihm schon x-Mal von verschiedenen Leuten gesagt, da ist glaube ich Hopfen und Malz verloren.

Verfasst: Freitag 16. April 2010, 15:30
von jbs
EyDu hat geschrieben:map

Code: Alles auswählen

>>> l = [[1,2],[5,6],[7,8]]
>>> map(sum, l)
[3, 11, 15]
>>>

Verfasst: Freitag 16. April 2010, 15:32
von /me
Horst hat geschrieben:Ich hab einen Fehler in der Syntaxfehler gehabt.
Jetzt läufts.
Ein Fehler im Syntaxfehler, aha.

Es bleibt trotzdem dabei: Bitte sende demnächst bei Fragen den richtigen Programmausschnitt mit einer eventuell auftauchenden Fehlermeldung. Copy&Paste sollte bekannt sein, denke ich. Bei einem Syntaxfehler hätte dir das Programm definitiv nicht Liste a ausgegeben, wie du behauptet hast.

Verfasst: Freitag 16. April 2010, 16:08
von Horst
Ich weiß auch nicht mehr genau, was genau falsch. Ich hab wieder einiges geändert. Irgendwo ahbe ich mich wohl vertippt