Ho una lista che si compone di dettagli come questo:Ordinamento in python - come ordinare un elenco contenente valori alfanumerici?
list1 = ["1", "100A", "342B", "2C", "132", "36", "302F"]
ora, voglio ordinare questa lista, in modo tale che i valori sono nel seguente ordine:
list1 = ["1", "2C", "36", "100A", "132", "302F", "342B"]
Solo facendo list1.sort()
ovviamente non dà la risposta corretta - dà:
list1 = ["1", "100A", "132", "2C", "36", "302F", "342B"]
sto assumendo questo è perché tutti pitone tratta questi come stringhe direttamente. Tuttavia, desidero ordinarli in base al loro valore numerico FIRST, quindi al carattere che segue il numero.
Come procedere?
grazie mille :)
Vedere questo post (http://stackoverflow.com/questions/11850425/custom-python-list-sorting) e definire una funzione di confronto personalizzata. – lurker
Questo è chiamato ** natural sort **. possibile duplicato di [Python ha una funzione incorporata per l'ordinamento naturale delle stringhe?] (http://stackoverflow.com/questions/4836710/does-python-have-a-built-in-function-for-string-natural- sorta) –