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
Sortierproblem
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
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
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