Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Python для новичков
  • » Необходимо вернуть отсортированный список строк, в котором: сначала идет группа строк, начинающихся на 'x', затем все остальные. [RSS Feed]

#1 Сен. 20, 2015 09:28:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Необходимо вернуть отсортированный список строк, в котором: сначала идет группа строк, начинающихся на 'x', затем все остальные.

Ещё вариант

>>> lst = ['mix', 'xyz', 'apple', 'xanadu', 'aardvark']
>>> 
>>> lst.sort(key=lambda i: (i[0] == 'x' and i) or ('y' + i))
>>> lst
['xanadu', 'xyz', 'aardvark', 'apple', 'mix']
>>>

Более общая форма
>>> lst = ['mix', 'xyz', 'apple', 'xanadu', 'aardvark']
>>> 
>>> lst.sort(key=lambda i: i[0] == 'x' and 'a' + i or 'b' + i)
>>> lst
['xanadu', 'xyz', 'aardvark', 'apple', 'mix']
>>>



Отредактировано py.user.next (Сен. 20, 2015 09:51:21)

Офлайн

#2 Сен. 20, 2015 09:36:26

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Необходимо вернуть отсортированный список строк, в котором: сначала идет группа строк, начинающихся на 'x', затем все остальные.

Imarden
Если написано not, то сначала должна быть
нет, не должна быть
выше я вам писал, в каком порядке сортируется по умолчанию.
Вы вопросы задаёте, а ответы читаете на них?



Офлайн

  • Начало
  • » Python для новичков
  • » Необходимо вернуть отсортированный список строк, в котором: сначала идет группа строк, начинающихся на 'x', затем все остальные.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version