Seite 1 von 1

Listeninhalt multiplizieren

Verfasst: Dienstag 24. Februar 2009, 11:53
von Jeremy
Hallo zusammen,

gibt es eine Möglichkeit, den gesamten Inhalt einer Liste mit einem Faktor zu multiplizieren? Z.B.:

Code: Alles auswählen

L = [3,2,7]
L_multi = L * 1.23
L_multi
[3.69 ,2.46, 8.61]
Man kann nur eine Liste mit x multiplizieren um ihren Inhalt x-mal zu kopieren. Das ist mir bekannt.

Gruß Jeremy

Verfasst: Dienstag 24. Februar 2009, 11:58
von lutz.horn
Das nennt sich List Comprehension.

Code: Alles auswählen

l = [3,2,7]
factor = 1.23
l = [i * factor for i in l]

Verfasst: Dienstag 24. Februar 2009, 12:32
von CM
Oder Du nutzt numpy, damit geht auch das Multiplizieren mit Skalaren:

Code: Alles auswählen

In [1]: from numpy import *

In [2]: a = arange(4)

In [3]: a
Out[3]: array([0, 1, 2, 3])

In [4]: a * 1.23
Out[4]: array([ 0.  ,  1.23,  2.46,  3.69])
HTH
Christian

Verfasst: Dienstag 24. Februar 2009, 12:53
von hendrikS

Code: Alles auswählen

map(lambda x:x*1.2,[1,2,3])

Verfasst: Dienstag 24. Februar 2009, 13:01
von EyDu

Code: Alles auswählen

>>> import operator
>>> import functools
>>> l = [1,2,3,4]
>>> map(functools.partial(operator.mul, 2), l)
[2, 4, 6, 8]
^^

Verfasst: Dienstag 24. Februar 2009, 13:05
von Jeremy
Danke für die Unterstüzung.