2010-03-02 169 views
0

我有一個我從python腳本獲得的列表。該列表的內容如下所示: 下面的內容在一個文件中,但我將它加載到一個列表中,以便將它與其他內容進行比較。但現在我必須拆分這個列表,以便每個創建的新列表都包含具有相應編號的複雜名稱。希望這是清楚了吧:)在Python中分割列表

d.complex.1 
24 
25 
67 
123 
764 
d.complex.200 
23 
54 
35 
64 
d.complex.302 
. 
. 
. 

我想分裂這個名單,使得一個新的列表是從d.complex.1創建d.complex.2(不含d.complex.2),即:

d.complex.1 
24 
25 
67 
123 
764 
end of list 

>newlist 
d.complex.200 
23 
54 
35 
64 
endoflist 

任何人都可以幫我嗎? 乾杯, Chavanak

+0

的例子d.complex.1我想你需要澄清你的問題 – Mark 2010-03-02 13:39:01

+0

這真的不清楚只是副本,是這樣的列表,字符串,從線文件? – 2010-03-02 13:59:32

+0

@chavanak:請不要評論你自己的問題。這是你的問題。您可以更改問題以使其更好。請更新您的問題並刪除您的評論。 – 2010-03-02 15:51:37

回答

0
>>> mylist='d.complex.1\n24\n25\n67\n123\n764\nd.complex.200\n23\n54\n35\n64\nd.complex.302'.split("\n") 
>>> res=[] 
>>> for line in mylist: 
... if line.startswith("d.complex"): 
... res.append([]) 
... res[-1].append(line) 
... 
>>> res 
[['d.complex.1', '24', '25', '67', '123', '764'], ['d.complex.200', '23', '54', '35', '64'], ['d.complex.302']] 
+0

對上面的代碼進行了一些修改,讓它對我有用。 感謝噸gnibbler :) – forextremejunk 2010-03-02 14:12:26

0

沒有更詳細的信息,並假設您的「列表」在一個文件中。

f=0 
for line in open("file"): 
    if "d.complex.2" in line: break # or exit 
    if "d.complex.1" in line: 
     f=1 
    if f: 
     print line.rstrip() 

輸出

$ ./python.py 
d.complex.1 
24 
25 
67 
123 
764