У меня есть списокСортировка знаков после запятой в Python
list1 = ["1.10","1.1","1.23","2.20","2.2"]
и я использовал
list1.sort(key=float)
, который дал выход
list1 = ["1.10","1.1","1.23","2.20","2.2"]
Однако я ищу это:
list1 = ["1.1","1.10","1.23","2.2","2.20"]
Любые идеи, как я могу это сделать?
* И я использовал list1.sort (key = int), который дал результат * Вы действительно? Какую реализацию и версию Python вы используете? Единственный «выход», который я получаю от попытки, это «ValueError». – Shashank
Во-первых: вам нужно 'key = float'. Во-вторых: Python использует стабильную сортировку. Таким образом, '1.10', равное' 1.1', всегда будет в этом порядке из-за исходного порядка. Простой 'list1.sort()' будет генерировать это поведение для этого единственного списка, потому что он будет сравнивать строки, а не числа – JBernardo
. Вы понимаете, что 1.10 == 1.1 и 2.20 == 2.2, что эти пары чисел * точно * то же самое, и нет причин, почему вы должны ожидать, что они будут сортироваться так или иначе ... –