Seite 1 von 1

Verfasst: Freitag 18. April 2008, 18:17
von Karl
Ich steh da mit dem Key Parameter völlig auf dem Schlauch.
als Beispiel hab ich nur key=str.lower() gefunden oO das hilft mir ziemlich wenig.
Bei cmp hab ich mal was mit lambda versucht:

Code: Alles auswählen

cmp=lambda x,y: cmp(x, y)
Aber das macht ja genau das, was es sonst auch macht. Es soll ja nur einen Wert und nicht beide vergleichen :o Ich hab keine Ahnung, wie ich das machen soll.

Verfasst: Freitag 18. April 2008, 18:28
von audax

Code: Alles auswählen

In [5]: import operator

In [6]: test.sort(key=operator.itemgetter(1))

In [7]: print test
[(9, 91), (8, 92), (7, 93), (6, 94), (5, 95), (4, 96), (3, 97), (2, 98), (1, 99), (0, 100)]

In [8]: test.sort(key=operator.itemgetter(0))

In [9]: print test
[(0, 100), (1, 99), (2, 98), (3, 97), (4, 96), (5, 95), (6, 94), (7, 93), (8, 92), (9, 91)]
so zum beispiel.
Äquivalent dann für Attribute mit operator.attrgetter

Verfasst: Freitag 18. April 2008, 19:17
von Karl
Cool, wusste gar nicht, dass es sowas gibt ;)
Vielen Dank, klappt wunderbar!