Klasse von list erben oder nicht?

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.
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Beitragvon Karl » Freitag 18. April 2008, 18:17

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.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Freitag 18. April 2008, 18:28

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
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Beitragvon Karl » Freitag 18. April 2008, 19:17

Cool, wusste gar nicht, dass es sowas gibt ;)
Vielen Dank, klappt wunderbar!

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]