MarkHammer
Март 10, 2013 12:51:31
'1021_cab2', ‘119_cab2’, ‘1345_cab2’, ‘137_cab2’, ‘145_cab2’, ‘146_cab2’, ‘154_cab2’, ‘187_cab2’, ‘189_cab2’, ‘212_cab2’, ‘221_cab2’, ‘223_cab2’, ‘239_cab2’, ‘275_cab2’, ‘282_cab2’, ‘283_cab2’, ‘300_cab2’, ‘31_cab2’, ‘353_cab2’, ‘385_cab2’, ‘387_cab2’, ‘396_cab2’, ‘3999_cab2’, ‘467_cab2’, ‘506_cab2’, ‘520_cab2’, ‘524_cab2’, ‘551_cab2’, ‘569_cab2’, ‘575_cab2’, ‘605_cab2’, ‘612_cab2’, ‘624_cab2’, ‘631_cab2’, ‘63_cab2’, ‘690_cab2’, ‘721_cab2’, ‘72_cab2’, ‘74_cab2’, ‘81_cab2’, ‘82_cab2’, ‘85_cab2’, ‘88_cab2’, ‘89_cab2’, ‘927_cab2’, ‘929_cab2’
помогите плиз отсортировать такой вот список от cab2 c меньшим номером … к большему…
MarkHammer
Март 10, 2013 16:02:14
Viktor_Zorichev
да - работает, думал правда, что это можно сделать при помощи рег. выражений…
Спасибо !!!
Viktor_Zorichev
Март 11, 2013 00:14:01
Прочитал
http://docs.python.org/3.3/howto/sorting.htmlЗамечательно коротко и ясно написано

Мне понятнее пример без использования cmp (про cmp, кстати, написано, что это “old way”).
>>> l = ['1021_cab2', '119_cab2', '1345_cab2', '137_cab2']
>>> sorted(l, key=lambda i: int(i.split('_')[0]))
['119_cab2', '137_cab2', '1021_cab2', '1345_cab2']
Rodegast
Март 13, 2013 11:38:55
> Мне понятнее пример без использования cmp
cmp это функция сравнения, ей передаётся 2 аргумента из списка и она говорит какой больше.
dimy44
Март 14, 2013 00:55:16
Сортировка по cmp очень медленная и Гвидо сам не рекомендовал ее применять без крайней необходимости.