Форум сайта python.su
expeeвыводит только первый вариант и он не то что нужно
Да, забыл присваивание сделать smile А на печать тебе нужно выводить не на каждой итерации цикла, а после завершения цикла.
Офлайн
>>> import re
>>> i = 'мама мыла раму в больнице'
>>> print re.split(' ', i)
['\xac\xa0\xac\xa0', '\xac\xeb\xab\xa0', '\xe0\xa0\xac\xe3', '\xa2', '\xa1\xae\xab\xec\xad\xa8\xe6\xa5']
>>> text = re.split(' ', i)
>>> print text[0] + " " + text[2] + " " + text[1]
мама раму мыла
>>>
Отредактировано (Дек. 29, 2009 13:18:51)
Офлайн
sypper-pitхароший вариант =) мне нравится , но что делать если у меня более 1000 слов и они переодически меняются местами ?
Код:
>>> import re
>>> i = ‘мама мыла раму в больнице’
>>> print re.split(' ', i)
>>> print text + “ ” + text + “ ” + text
мама раму мыла
>>>
Отредактировано (Дек. 29, 2009 13:16:03)
Офлайн
sonniy, что значит не то, что нужно? Выводит: “ мыла в больнице”. Как ты и хотел нужны слова заменяются на пробелы.
i = 'мама мыла раму в больнице'
>>> for word in ['мама', 'раму']:
... i = i.replace(word, ' ')
...
>>> print i
мыла в больнице
Отредактировано (Дек. 29, 2009 13:17:11)
Офлайн
ну тут явно или неявно придется использовать цикл. можно его просто развернуть.
egg = 'мама мыла раму в больнице'.replace('мама',' ').replace('раму',' ')
egg = re.sub('мама|раму',' ','мама мыла раму в больнице')
Офлайн
expeeсорри , что то глюконуло, или меня, или комп =) … вроде работает ) спс
sonniy, что значит не то, что нужно? Выводит: “ мыла в больнице”. Как ты и хотел нужны слова заменяются на пробелы.
Код:
i = ‘мама мыла раму в больнице’
>>> for word in :
… i = i.replace(word, ‘ ’)
…
>>> print i
мыла в больнице
Офлайн
sonniy
тогда придётся рисовать более сложные выражения с поисками по совпадениям слов и делать разного рода циклы.
Офлайн
' '.join(filter(lambda word: word not in ['мама','раму'], s.split(' ')))
Офлайн