Seite 1 von 1

Listen

Verfasst: Dienstag 4. März 2014, 14:30
von taxusbaccata
Wie kann man in einer Liste der Länge X alle Elemente in dieser Liste mithilfe einer for-Schleife multiplizieren ?

Re: Listen

Verfasst: Dienstag 4. März 2014, 14:55
von mutetella

Code: Alles auswählen

[element * multiplier for element in elements]
Wenn Du selbiges mit einer for-Schleife lösen möchtest, musst Du halt noch `append()` einsetzen.

mutetella

Re: Listen

Verfasst: Dienstag 4. März 2014, 15:11
von taxusbaccata
Ich meine das so, dass ich alle Elemente dieser Liste multipliziere ...
Also z.B.: L = [1,2,3,7] -----> 1*2*3*7

Re: Listen

Verfasst: Dienstag 4. März 2014, 15:13
von mcdwerner
das wäre dann ein Fall für reduce:

Code: Alles auswählen

reduce(lambda x, y: x*y, [1,2,3,7])
Edit:
Oh sorry, for-Schleife war gefragt.

Code: Alles auswählen

result = 1
for multiplier in [1,2,3,7]:
    result = result * multiplier

Re: Listen

Verfasst: Dienstag 4. März 2014, 15:19
von snafu
`reduce()` ginge übrigens auch ohne Lambda:

Code: Alles auswählen

>>> from operator import mul
>>> reduce(mul, [1,2,3,7])
42

Re: Listen

Verfasst: Dienstag 4. März 2014, 16:06
von taxusbaccata
Okey, vielen Dank :lol: