Форум сайта python.su
Доброго всем времени суток!
Есть задача: нужно в списке a=, сделать корректировки, так что бы получилось: b=. Насколько я понимаю, здесь надо использовать регулярные выражения. Однако, прочитав главу про регулярные выражения так и не понял, как их использовать. Просветите, пожалуйста!
Офлайн
а не проще использовать split ?
Офлайн
может и проще, вопрос как?
Офлайн
b = ['Азбука_' + s.rsplit('_', 1)[-1] for s in a]
Офлайн
нет, не вариант: ‘_’ может повторятся неоднократно. Т.е. a=
Офлайн
Dr.Livsiа это уже другая задача,
нет, не вариант: ‘_’ может повторятся неоднократно. Т.е. a=
Офлайн
боюсь, что максимально точно не смогу обозначить задачу - ибо она находится на работе :))) Поэтому вполне может появиться еще какое-нибудь условие. Во всяком случае попробую решить ее с помощью split. И еще, покажите, пожалуйста, как здесь можно использовать регулярные выражения? Меня, собственно, интересует синтаксис.
Офлайн
for i in a:
b.append(re.sub("Букварь_\d+", "Азбука", i))
Офлайн
pasaranax, отлично! Получилось. Большое всем спасибо!
Офлайн
А регулярками нагляднее выходит, но вот так должно быть быстрее:
for i in a:
b.append("Азбука_" + "_".join(i.split("_")[2:]))
Офлайн