Найти - Пользователи
Полная версия: Помогите отсортировать
Начало » Python для новичков » Помогите отсортировать
1 2 3 4
Eva_777
чуть подкорректирую задание:
есть некая строка “SHR16,WTS1234, ACDW14, WTS16, WTS72, ACDW485, SHR728”
есть некий шаблон(он может изменяться): “WTS, ACDW, SHR”
Нужно отсортировать исходную строку в зависимости от того, какой шаблон.
Т.е., в результате должно получиться:
“WTS16, WTS72, WTS1234, ACDW14, ACDW485, SHR16, SHR728 ”
sank
import re
str = 'SHR16,WTS1234, ACDW14, WTS16, WTS72, ACDW485, SHR728' # исходная строка
order = ['WTS', 'ACDW', 'SHR'] # порядок сортировки
order = order + [re.sub('\d', '', s.strip()) for s in str.split(',')] # страхуемся от эксепшенов - это на ваш вкус
# собственно сортировка
print(', '.join(sorted([s.strip() for s in str.split(',')], cmp=lambda x,y: cmp('%09d-%09d' % (order.index(re.sub('\d', '', x)), int(re.sub('\D', '', x))), '%09d-%09d' % (order.index(re.sub('\d', '', y)), int(re.sub('\D', '', y)))))))
dimy44
Не прошло и 4х страниц и мы узнали правильное тз, ура. На сортироку с шаблоном думаю пост #9 почитаемее будет. Хотя тс может возмутиться, что в примерах шаблоны- кортеж/список, а у него- нет!
Eva_777
sank, спасибо огромное)
вы-просто волшебник)
py.user.next
sergeek
придется добавлять этого руками(если вообще заранее известно что добавлять). Если же она именно такая, тогда уже проще будет написать
руками ничего не добавляется
к prefs подключается генератор, который выдаёт строки, а генератор уже берёт их откуда угодно

а если там именно нужно выбрать уникальные слова по порядку, как pyuser предположил, то их надо сначала выбрать (только нормальным кодом) и точно так же подключить к prefs (а не вставлять в цикл, нарушая его читаемость и сковывая программу)

вот она говорит, что там именно любая последовательность, а не выборка уникальных слов
но она может ошибаться, потому что не соображает, что ей надо в точности
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB