[Python-de] Sortieren

Harald Armin Massa haraldarminmassa at gmail.com
Fre Jun 17 09:47:47 CEST 2005


Hallo...

eine Vergleichsfunkion nur dann verwenden, wenn es ABSOLUT notwendig ist.

Es ist nie absolut notwendig.

Vergleichsfunktion macht das ganze viel viel langsamer,

DSU ist der Trick, nachzulesen im Python Cookbook von MArtelli et al. 
(Decorate, sort, undecorate)

also: eine Liste bauen mit tupeln 

l= [
(ersteSortierspalte, zweiteSortierspalte,.... ,rohzeile)
...
]

l.sort()

danach die Liste wieder zerlegen, damit nur die rohzeile da ist.

Oder .. mit feldindex arbeiten

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/305304

Gruß Harald
Am 16.06.05 schrieb Henning.Ramm at mediapro-gmbh.de <
Henning.Ramm at mediapro-gmbh.de>:
> 
> >ID Name Größe
> >1 Hans 185
> >2 Eva 180
> >3 Tim 165
> >
> >Wie kann ich dann die Einträge am besten nach einer der Spalten (ID,
> >Name oder Größe) sortieren?
> 
> L = [(1,'Hans',185), (2,'Eva',180), (3,'Tim',165)]
> L.sort()
> >> ergibt gleiches L, weil sort nach dem ersten Element (ID) sortiert
> 
> def byItem2(a,b):
> return cmp(a[1],b[1])
> 
> L.sort(byItem2)
> >> ergibt L = [(2, 'Eva', 180), (1, 'Hans', 185), (3, 'Tim', 165)]
> 
> Genau das findest du auch in der allgemeinen Dokumentation zu Python.
> 
> Grüße vom Bodensee!
> -----------------------
> Henning Hraban Ramm
> Südkurier Medienhaus / MediaPro
> Abt. Systembetreuung
> 
> _______________________________________________
> python-de maillist - python-de at python.net
> http://python.net/mailman/listinfo/python-de
> 



-- 
GHUM Harald Massa
persuasion python postgresql
Harald Armin Massa
Reinsburgstraße 202b
70197 Stuttgart
0173/9409607
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://starship.python.net/pipermail/python-de/attachments/20050617/2f090515/attachment.htm