Sortierproblem

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.
Antworten
LausX

Donnerstag 13. November 2003, 23:55

Hi. Da ich bei meinem ersten Problem so schnelle und brauchbare Hilfe bekommen habe (vielen Dank an Dookie..) wollte ich gleich noch eine Frage stellen. Habe einen Text als Liste von Tokens (nur Wörter) vorliegen und möchte diese Liste als Set haben. Damit kein Problem, aber diese set soll die Tokens nach Länge und alphabetisch geordnet ausgeben. Wie kann ich das am effektivsten tun. Habe schon Probleme beim alphabetischen sortieren, da ich für sets keine sortier-methode gefunden habe und wenn ich die Liste mit x.sort() sortiere gibt python zwar die Liste geordnet aus, wenn ich daraus aber ein Set mache, ist dieses wieder ungeordnet. Wer kann mir helfen...
Gruß LausX
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Freitag 14. November 2003, 02:38

Hi LausX,

Sets, wie auch Dictonaries legen ihre Einträge nicht geordnet ab sondern verwende Hashtables um die Einträge/Schlüssel abzulegen. Solche Hashtables sind eben nicht sortierbar, dafür werden die Einträge sehr schnell gefunden.
Das einfachste wird wohl sein, wenn du eine eigene Setklasse erstellst, die kannst Du bei Python2.3 auch von set oder list ableiten, in welcher du sicher stellst, daß jeder Eintrag nur einmal vorhanden ist bzw wo du die sortierte Ausgabe über die vorangehende umwandlung in eine Liste als Methode bereitstellst.


Gruß

Dookie
Antworten