Ich habe eine Liste, die von Details wie folgt zusammen:Sortierung in Python - Wie sortiere ich eine Liste mit alphanumerischen Werten?
list1 = ["1", "100A", "342B", "2C", "132", "36", "302F"]
jetzt, ich will diese Liste sortieren, so dass die Werte in der folgenden Reihenfolge sind:
list1 = ["1", "2C", "36", "100A", "132", "302F", "342B"]
Gerade list1.sort()
offensichtlich tun nicht die richtige Antwort geben - es gibt:
list1 = ["1", "100A", "132", "2C", "36", "302F", "342B"]
ich gehe davon aus das ist, weil python behandelt alle diese als Zeichenfolgen direkt. Allerdings möchte ich sie basierend auf ihrem numerischen Wert FIRST und dann das Zeichen, das auf die Zahl folgt sortieren.
Wie gehe ich vor?
Vielen Dank :)
Sehen Sie diesen Beitrag (http://stackoverflow.com/questions/11850425/custom-python-list-sorting) und definieren Sie eine benutzerdefinierte Vergleichsfunktion. – lurker
Dies wird ** natürliche Sortierung ** genannt. mögliches Duplikat von [Hat Python eine eingebaute Funktion für String Natural Sort?] (http://stackoverflow.com/questions/4836710/does-python-have-a-built-in-function-for-string-natural-) Sortierung) –