Разделение строк, но с сохранением «разделенного» характера - PullRequest
1 голос
/ 21 ноября 2011

Я разделил строку на [и], но я хочу, чтобы эти символы все еще появлялись.Как мне это сделать?

words = [beginning for ending in x.split('[') for beginning in ending.split(']')]

Ответы [ 2 ]

3 голосов
/ 21 ноября 2011

Я думаю, вам нужно re.split , чтобы сделать это легко:

>>> import re
>>> s = 'Hello, my name is [name] and I am [age] years old'
>>> re.split(r'(\[|\])', s)
['Hello, my name is ', '[', 'name', ']', ' and I am ', '[', 'age', ']', ' years old']
0 голосов
/ 21 ноября 2011

Нужно знать больше о контексте вашего списка и о том, что такое x, beginning и ending, но вот некоторые предложения.

Вы можете добавить [ и ] к каждому элементу в списке и вернуть новый список, например:

["[%s]" % s for s in some_list]

Или string.join вернет строку из элементов в списке, соединенных данной строкой:

"[".join(some_list)
...