Listeninhalt multiplizieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Jeremy
User
Beiträge: 48
Registriert: Samstag 29. November 2008, 19:05

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
Benutzeravatar
lutz.horn
User
Beiträge: 205
Registriert: Dienstag 8. November 2005, 12:57
Wohnort: Pforzheim

Das nennt sich List Comprehension.

Code: Alles auswählen

l = [3,2,7]
factor = 1.23
l = [i * factor for i in l]
https://www.xing.com/go/invite/18513630.6a91d4
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Code: Alles auswählen

map(lambda x:x*1.2,[1,2,3])
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Code: Alles auswählen

>>> import operator
>>> import functools
>>> l = [1,2,3,4]
>>> map(functools.partial(operator.mul, 2), l)
[2, 4, 6, 8]
^^
Das Leben ist wie ein Tennisball.
Jeremy
User
Beiträge: 48
Registriert: Samstag 29. November 2008, 19:05

Danke für die Unterstüzung.
Antworten