Seite 1 von 1

[gelöst ]mathematische operationen mit listen

Verfasst: Donnerstag 3. Juli 2008, 15:34
von hephaistos
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

Verfasst: Donnerstag 3. Juli 2008, 15:41
von veers

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 ;)

Verfasst: Donnerstag 3. Juli 2008, 15:46
von numerix
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]

Verfasst: Donnerstag 3. Juli 2008, 16:27
von hephaistos
Besten Dank,
Als ihr python gelernt habt: wo habt ihr euch über euch fehlende funktionalitäten und funktionen schlau gemacht?

Gruass
hephaistos

Verfasst: Donnerstag 3. Juli 2008, 16:48
von ichbinsisyphos
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 ...

Verfasst: Donnerstag 3. Juli 2008, 17:02
von veers
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 ;)

Verfasst: Donnerstag 3. Juli 2008, 17:32
von CM
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