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

Dienstag 24. Februar 2009, 11:53

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

Dienstag 24. Februar 2009, 11:58

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:

Dienstag 24. Februar 2009, 12:32

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

Dienstag 24. Februar 2009, 12:53

Code: Alles auswählen

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

Dienstag 24. Februar 2009, 13:01

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

Dienstag 24. Februar 2009, 13:05

Danke für die Unterstüzung.
Antworten