cmpfunc generisch produzieren
Verfasst: Montag 29. Oktober 2007, 09:43
Hi,
ich verwende aktuell noch python 2.2.3 und habe mir gerade einen ganzen Schwung von Compare Funktionen gebaut, um eine Listen mit externen C++ Klassen zu sortieren.
Die Compare-Funktionen sind aber alle Leicht gleichförmig
Die Funktionen sind alle in der Form gleich, jetzt fragt ich mich ob dies nicht generisch geht. Also eine Art:
list.sort(gencmpfunc("name"))
Diese Funktion liefert wieder eine spezialisierte cmpfunc-Funktion zurück. Ich habe schon einigermaßen gesehen, wie das gehen könnte - die Frage: kann ich zur Laufzeit mit dem Namen repräsentiert durch einen String auf einen Member einer Klasse zugreifen - also von "name" zu element.name?
Vielen dank
ich verwende aktuell noch python 2.2.3 und habe mir gerade einen ganzen Schwung von Compare Funktionen gebaut, um eine Listen mit externen C++ Klassen zu sortieren.
Die Compare-Funktionen sind aber alle Leicht gleichförmig
Code: Alles auswählen
def cmp_name(x,y):
if x.name < y.name:
return -1
# [..] und so weiter
def cmp_name_rev(x,y):
return -1 * cmp_name(x,y)
list.sort(gencmpfunc("name"))
Diese Funktion liefert wieder eine spezialisierte cmpfunc-Funktion zurück. Ich habe schon einigermaßen gesehen, wie das gehen könnte - die Frage: kann ich zur Laufzeit mit dem Namen repräsentiert durch einen String auf einen Member einer Klasse zugreifen - also von "name" zu element.name?
Vielen dank
