Python конвертировать ул в список - PullRequest
1 голос
/ 01 февраля 2011

Как мне преобразовать

'[update, /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1], Centaurus-AB]'

в список строк, например.

   ['update', '/CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1]', 'Centaurus-AB']

Ответы [ 4 ]

8 голосов
/ 01 февраля 2011

Не зная более подробной информации о вводе (нужно ли проверять наличие скобок? Запятые действительны внутри поля? ...), возможно, самый простой способ:

>>> [s.strip() for s in input_line[1:-1].split(',')]
['update', '/CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1]', 'Centaurus-AB']
4 голосов
/ 01 февраля 2011
strings = '[update, /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1], Centaurus-AB]'

strings = strings.replace("[", "").split(',')

print strings

EDIT:

упс. Вы хотите, чтобы раздеться ... раздеться занимает только первый и последний символы. Заменить хорошо удалить все

strings = '[update, /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1], Centaurus-AB]'

strings = strings.strip("[]", "").split(',')

print strings
2 голосов
/ 01 февраля 2011

Возможно, есть лучший способ сделать это, но первый способ, о котором я думаю, это:

>>> y = '[update, /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1], Centaurus-AB]'
>>> y = y.split(',')
>>> y[0] = y[0].lstrip('[')
>>> y[-1] = y[-1].rstrip(']')
>>> y
['update', ' /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1]', ' Centaurus-AB']
2 голосов
/ 01 февраля 2011
In [12]: text='[update, /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1], Centaurus-AB]'
In [17]: text[1:-1].split(',')
Out[17]: ['update', ' /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1]', ' Centaurus-AB']

Обратите внимание, что использование text[1:-1] опирается на строку, начинающуюся и заканчивающуюся скобками (или, по крайней мере, некоторым выбрасываемым символом).

Чтобы избавиться от пробелов, которые вы можете использовать strip():

In [18]: [elt.strip() for elt in text[1:-1].split(',')]
Out[18]: ['update', '/CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1]', 'Centaurus-AB']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...