Сортировка чисел в формате строки с Python [дубликат]

7
задан prosseek 8 April 2010 в 02:04
поделиться

4 ответа

keys.sort(key=lambda x: [int(y) for y in x.split('.')])
10
ответ дан 6 December 2019 в 11:47
поделиться

Это работает:

keys.sort(key=lambda x: map(int, x.split('.')))
2
ответ дан 6 December 2019 в 11:47
поделиться

Предоставьте настраиваемый аргумент ключа для sort или sorted .

Из http://docs.python.org/library/functions.html#sorted :

ключ определяет функцию одного аргумента, который используется для извлечения ключа сравнения из каждого элемента списка : key = str.lower. Значение по умолчанию - Нет (сравнивайте элементы напрямую).

1
ответ дан 6 December 2019 в 11:47
поделиться
from distutils.version import StrictVersion
keys.sort(key=StrictVersion)

Поскольку номера глав являются подмножеством номеров версий, это покрывает ваши потребности.

4
ответ дан 6 December 2019 в 11:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: