如何转换蟒蛇转换STR列出
'[update, /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1], Centaurus-AB]'
到字符串列表,例如。
['update', '/CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1]', 'Centaurus-AB']
如何转换蟒蛇转换STR列出
'[update, /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1], Centaurus-AB]'
到字符串列表,例如。
['update', '/CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1]', 'Centaurus-AB']
不知道关于输入更多的细节(我们真的需要检查,如果括号内是有逗号是有效的一个领域里面?。 ..)最简单的方法可能是:
>>> [s.strip() for s in input_line[1:-1].split(',')]
['update', '/CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1]', 'Centaurus-AB']
+1使用列表理解 – armonge 2011-02-01 13:55:33
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']
有可能是一个更好的方式来做到这一点,但第一个方式,我想到的是:
>>> 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']
strings = '[update, /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1], Centaurus-AB]'
strings = strings.replace("[", "").split(',')
print strings
编辑:
哎呀。你想strip .. strip只需要第一个和最后一个字符。替换好删除全部
strings = '[update, /CoaddedRegriddedFrame[1]/OBJECT[1]/text()[1], Centaurus-AB]'
strings = strings.strip("[]", "").split(',')
print strings
输入字符串是一个明确的格式或自定义? – tokland 2011-02-01 13:53:28