2012-04-21 58 views
4

我有像下面這樣的python列表。如何使用Python列表?

lst = ['paragraph 1','paragraph 2','paragraph 3'] 

我試圖讓他們的文集與模式庫 - http://www.clips.ua.ac.be/pages/pattern-vector

爲榜樣就應該是這樣..

d1 = Document('paragraph 1') 
d2 = Document('paragraph 2') 
d3 = Document('paragraph 3') 

corpus = Corpus(documents=[d1,d2,d3]) 

我怎樣才能讓胼鏈接纔可這個我的Python列表?

+1

你應該改變'list'到'paragraphs'或因爲你失去了訪問內置'列表' – jamylak 2012-04-21 06:15:52

+0

啊;)我只是在那裏展示的例子。不是實際的清單。 – ChamingaD 2012-04-21 06:30:05

+1

即使是一個例子,這是不好的做法,但幾乎每個人都在這個網站的每個問題上這樣做...... – jamylak 2012-04-21 06:32:51

回答

6
lst = ['paragraph 1','paragraph 2','paragraph 3'] 
corpus = Corpus(documents=[Document(x) for x in lst]) 
+0

謝謝所有:)這似乎工作。 – ChamingaD 2012-04-21 06:29:08

1

不完全確定這是你想要的但我假設你需要list comprehension

paragraphs = ['paragraph 1','paragraph 2','paragraph 3'] 
corpus = Corpus(documents=[Document(d) for d in paragraphs]) 
5

您可以使用地圖方法

l = ['paragraph 1','paragraph 2','paragraph 3'] 
corpus = Corpus(map(Document, l)) 
1

的問題沒有明確規定是否應當使用列表理解與否。在問題中給出的具體例子中,列表理解是一個很好和簡潔的解決方案。然而,如果運不要求列表理解爲一個更加通用的解決方案,以在Python列表的工作,這裏是更詳細的迭代方法:

paragraphs = ['paragraph 1','paragraph 2','paragraph 3'] 
docs = [] 
for p in paragraphs: 
    docs.append(Document(p)) 
corpus = Corpus(documents=docs) 
+0

我沒有看到任何理由爲什麼OP將永遠需要這樣做。 – jamylak 2012-04-21 06:24:29

+0

在這個例子中,他不應該如答案中指出的那樣。我只是把它放在那裏,以防止迭代真的是他正在尋找的東西,同時給出一個列表理解是一個更好的選擇的例子。 – 2012-04-21 06:26:33