2011-10-03 92 views
4

我从HTML页面提取了一组数据并将其复制到一个变量中。变量看起来像将多行转换为列表

names=''' 
     Apple 
     Ball 
     Cat''' 

现在我喜欢加入每一行到列表,以便我可以访问任何我想要的行。有没有办法做到这一点在Python

回答

0

names.split('\n')应该给你说“\ n”

+1

弱点是他的平台可能会有一个更复杂的结局,而不仅仅是'\ n''。 –

9

使用splitlines()斯普利特换行符和钢带(),以消除不必要的空格分割的列表。

>>> names=''' 
...  Apple 
...  Ball 
...  Cat''' 
>>> names 
'\n  Apple\n  Ball\n  Cat' 
>>> names_list = [y for y in (x.strip() for x in names.splitlines()) if y] 
>>> # if x.strip() is used to remove empty lines 
>>> names_list 
['Apple', 'Ball', 'Cat'] 
+1

注意:如果任何行中有空格(或其他空格字符),则不会正确拆分行。 – wim

+0

我正在使用python 2.6.6,它在那里工作正常。如果你能给我一个例子,这将是有帮助的。 – varunl

+0

@wim +1我同意 - 默认情况下'split'将使用空格作为分隔符。 @topcoder:尝试在第一行放置一个空格或制表符的条目。 – user

2

names.splitlines()应该给你。

+0

如果每行上都有空格,并且空白的第一行,那么仍然有后处理工作要做。 – agf

+0

是的。尽管如此,我不知道这是否是OP的用例的可选空格。 – wim