Seite 1 von 1

Multiplikation von Listenelementen

Verfasst: Mittwoch 22. Februar 2006, 16:53
von keboo
Hallo Leute!

Bin ein blutiger Anfänger und man riet mir mit Python anzufangen.

Ich möchte Elemente von 2 Listen nacheinander miteinader multiplizieren.

Wo ist der Fehler in meinem Code?

Code: Alles auswählen

X=[1,2,3,4,5]
Y=[4,5,6,7,8]

for i in len(X):
	print X[i]*Y[i],
Danke für eure Hilfe,

Johannes

Verfasst: Mittwoch 22. Februar 2006, 17:03
von mawe
Hi!

len(X) liefert eine Zahl, und über die kann man nicht iterieren ;)
So gehts:

Code: Alles auswählen

for i in range(len(X)):
    print X[i]*Y[i]
Gruß, mawe

danke

Verfasst: Mittwoch 22. Februar 2006, 17:05
von keboo
hi mawe!

Danke für deine rasche antwort :D

johannes

Verfasst: Donnerstag 23. Februar 2006, 00:06
von BlackJack
Da man `i` hier nicht wirklich benötigt, ist folgendes "pythonischer":

Code: Alles auswählen

X = [1,2,3,4,5]
Y = [4,5,6,7,8]

for x, y in zip(X, Y):
    print x * y
Falls `X` und `Y` sehr grosse Listen sein sollten dann kann man auch `itertools.izip()` statt `zip()` verwenden.

Verfasst: Donnerstag 23. Februar 2006, 01:27
von modelnine
Oder speicherplatz- und laufzeitsparender bei großen Listen (len(l) > 1000, so für mich immer als Richtwert):

Code: Alles auswählen

import itertools

X = [1,2,3,4,5]
Y = [4,5,6,7,8]

for x, y in itertools.izip(X, Y):
    print x * y