Sorting Problem einer Liste

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
x1334
User
Beiträge: 13
Registriert: Mittwoch 13. Juni 2012, 12:34

Hallo,

ich habe ein Problem mit einer Liste.

Der Inhalt sieht so aus:

['Kladogramm\t4', 'Klassifikation\t2060', 'Klassifikationsschema\t59', 'Verzweigungsstruktur\t2', 'Baum\t20225', 'Baumstruktur\t182', 'Taxonomie\t181'].

Ich möchte diese Liste gerne so sortieren, dass das ganze nach Größe der Zahlen hinter dem Tab geordnet wird, bekomme das ganze aber nicht hin.

Wie gehe ich hier am Besten vor?

Mit freundlichen Grüßen,
x1234
BlackJack

@x1334: Schreib eine Funktion welche die Zahl aus einem solchem Eintrag ermittelt (tatsächlich als Zahl, nicht nur die Zeichenkette) und übergib die als `key`-Argument von `sort()`.

Edit:

Code: Alles auswählen

In [2]: data
Out[2]: 
['Kladogramm\t4',
 'Klassifikation\t2060',
 'Klassifikationsschema\t59',
 'Verzweigungsstruktur\t2',
 'Baum\t20225',
 'Baumstruktur\t182',
 'Taxonomie\t181']

In [3]: sorted(data, key=lambda x: int(x.split('\t', 1)[1]))
Out[3]: 
['Verzweigungsstruktur\t2',
 'Kladogramm\t4',
 'Klassifikationsschema\t59',
 'Taxonomie\t181',
 'Baumstruktur\t182',
 'Klassifikation\t2060',
 'Baum\t20225']
x1334
User
Beiträge: 13
Registriert: Mittwoch 13. Juni 2012, 12:34

Vielen Dank, hab eben auch bemerkt, dass das Problem war, dass die Zahl kein Int war...

Gruß
Antworten