Найти - Пользователи
Полная версия: split
Начало » Python для новичков » split
1
gelius
Делю строку вида:
слово1.слово2.слово3
Так:
slova = slova.split('.')
Получается:
['слово1', 'слово2', 'слово3']
Нужно:
['слово1.', 'слово2.', 'слово3.']
Nata
>>> import re
>>> li=re.split("(\.)", "slovo.slovo.slovo.")
>>> [x+y for x,y in zip(li,li[1:])[::2]]
['slovo.', 'slovo.', 'slovo.']
>>> 

:P стремный вариант… не надо так делать…
vrabey
words = "w1.w2.w3"
sep = "."
print [word + sep for word in words.split(sep)]
Nata
vrabey
:D
это слишком просто…
vrabey
Nata
это слишком просто
так?
words = “w1.w2.w3”
sep = “.”
print “ ”.join(words.split(sep)).split()
Budulianin
re.findall(r'([^.]+\.)', s+'.')
Nata
vrabey
так?
этот вариант не работает :)
про “слишком просто” была шутка, конечно; ваш первый вариант самый логичный и очевидный, просто странно тогда, что такой вопрос вообще был задан. я подумала, что надо найти именно какой-то обходной вариант; нам часто в универе такие задания давали, типа, “разбейте текст на слова, не используя split” и пр.

Budulianin
супер! the best!
py.user.next
Nata
нам часто в универе такие задания давали, типа, “разбейте текст на слова, не используя split”

Это бывает по нескольким причинам. Если именно .split() брать, то она не подходит для очень больших строк, потому что создаёт список, на который может не хватить памяти. Если же брать алгоритм разделения, то подобные задания возникают и для массивов, для которых .split() может не быть.

gelius
Делю строку вида:
слово1.слово2.слово3
gelius
Нужно:
['слово1.', 'слово2.', 'слово3.']

Странно, что при разделении строки, в которой нет последней точки, она появляется.
Поэтому либо нужно разделить и объединять с нужным символом в конце. Либо нужно исходную строку сначала привести к виду с точкой в конце, а потом разделять.

>>> s = 'слово1.слово2.слово3'
>>> 
>>> out = [i + '.' for i in s.split('.')]
>>> out
['слово1.', 'слово2.', 'слово3.']
>>>

Это похоже на вариант vrabey, но не объединяет разделитель слов с суфиксом.
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