[gelöst ]mathematische operationen mit listen

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.
hephaistos
User
Beiträge: 7
Registriert: Donnerstag 3. Juli 2008, 15:24
Wohnort: Zürich, Davos

[gelöst ]mathematische operationen mit listen

Beitragvon hephaistos » Donnerstag 3. Juli 2008, 15:34

Saluti Zusammen

Ich versuche einen i-ten wert einer liste, von einem i ten wert von einer anderen liste zu subtrahieren. welche welches sind dabei die elgegantesten möglichkeiten?-

Code: Alles auswählen


checker = len(fifor)
k = 0
m = 0
while k <= checker:
        print k
        if k <= checker:
                testresult = 1 + k
                diffx[m] = meanx[int(m)] - listmean[int(m)]
                k = k + 1
                print "testresultat: " + str(testresult)
                print diffx[m]
                m = m + 1
                continue


Besten Dank für eure Info
Gruss
hepaistos
Zuletzt geändert von hephaistos am Donnerstag 3. Juli 2008, 16:44, insgesamt 1-mal geändert.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Donnerstag 3. Juli 2008, 15:41

Code: Alles auswählen

x = l2[i]-l1[i]

Oder willst du das für jeden Wert machen und das Ergebniss in eine Liste stecken?
Das wäre:

Code: Alles auswählen

l3 = [a-b for a,b in zip(l2, l1)]

Falls du mehr Performance brauchst kannst du izip aus dem intertools modul verwenden ;)
My Website - 29a.ch
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Beitragvon numerix » Donnerstag 3. Juli 2008, 15:46

Oder so:

Code: Alles auswählen

>>> import operator
>>> liste1 = range(40,60)
>>> liste2 = range(70,30,-2)
>>> map(operator.sub,liste1,liste2)
[-30, -27, -24, -21, -18, -15, -12, -9, -6, -3, 0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
hephaistos
User
Beiträge: 7
Registriert: Donnerstag 3. Juli 2008, 15:24
Wohnort: Zürich, Davos

Beitragvon hephaistos » Donnerstag 3. Juli 2008, 16:27

Besten Dank,
Als ihr python gelernt habt: wo habt ihr euch über euch fehlende funktionalitäten und funktionen schlau gemacht?

Gruass
hephaistos
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

Beitragvon ichbinsisyphos » Donnerstag 3. Juli 2008, 16:48

hephaistos hat geschrieben:Besten Dank,
Als ihr python gelernt habt: wo habt ihr euch über euch fehlende funktionalitäten und funktionen schlau gemacht?

Gruass
hephaistos

internet foren und google ;-)

für solche operationen ist numpy ziemlich praktisch, wahrscheinlich erst wenn du kompliziertere rechenoperationen als elementweise subtraktion brauchst.
obwohl ich jetzt beim durchlesen nicht wirklich begriffen hab was du vorhast, ich mein wo kommt meanx und listmean her ...
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Donnerstag 3. Juli 2008, 17:02

Dokumentation der Standard Library:
http://docs.python.org/dev/library/
Zusätzliche Module:
http://pypi.python.org/pypi/
Snippets:
http://aspn.activestate.com/ASPN/Cookbook/Python

:wink:

pütone, nett - wusste gar nicht das map mehrere argumente nimmt ;)
My Website - 29a.ch

"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Beitragvon CM » Donnerstag 3. Juli 2008, 17:32

Für so eine einfache Anwendung kommt man mit Python-Hausmitteln ja recht weit, aber wenn man mehr Operationen auf Listen von Zahlen machen will, kann man auch numpy nehmen. Sähe dann z.B. so aus:

Code: Alles auswählen

l3 = l2 - l1
, für den Fall, daß l2 und l1 numpy-arrays mit gleichen Dimensionen wären. Mehr zu numpy unter www.scipy.org.

Gruß,
Christian

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], egon11, Sirius3