2011-10-03 88 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