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
Sorting Problem einer Liste
-
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:
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']