Wie sortiere ich eine Liste mit Abschnittsnummern in Python? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Sortieren einer Liste von durch Punkte getrennten Zahlen, z. B. Softwareversionen 4 Antworten

Book-Abschnitte sind normalerweise mit @ nummerierx.x.x, sowie1.2.3. Wie sortiere ich eine Liste mit Abschnittsnummern?

Speichern Sie Abschnittsnummern als Liste von Zeichenfolgen.

# a list of strings, section numbers
ls = ['1.1', '1.10', '1.2', '1.2.3', '1.2.1', '1.9']    

lists = sorted([s.split('.') for s in ls], key=lambda x:map(int, x))    
# [['1', '1'], ['1', '2'], ['1', '2', '1'], ['1', '2', '3'], ['1', '9'], ['1', '10']]

r = ['.'.join(sublist) for sublist in lists]    
#['1.1', '1.2', '1.2.1', '1.2.3', '1.9', '1.10']

Allerdings ist mein erwartetes Ergebnis,

['1.1', '1.10', '1.2', '1.2.1', '1.2.3', '1.9']

Antworten auf die Frage(6)

Ihre Antwort auf die Frage