2014-02-08 59 views
0

我有一個名爲「data」的句子列表,並且我執行了soundex的操作。
我不知道如何將其存儲在一個變量。這裏是我的代碼:將循環結果存儲在變量中,python

for line in data: 

    for word in line.split(): 

     print jellyfish.soundex(word) 

,讓我所有的話同音代碼列表..

如何存放的結果一個變量??我曾嘗試過:

data_new = [(jellyfish.soundex(word) for word in line.split()) for line in data] 

但這並沒有幫助。

+1

嘗試使用列表理解而不是生成器表達式:'data_new = [[line.split()]中的[jellyfish.soundex(字)] for line in data]' – falsetru

回答

1

使用列表理解,而不是生成器表達式:

data_new = [[jellyfish.soundex(word) for word in line.split()] for line in data] 

或者,如果你想簡單列表:

data_new = [jellyfish.soundex(word) for line in data for word in line.split()] 
+0

我可以從這裏找回原始列表嗎? –

+0

@劍,你是什麼意思的原始列表? – falsetru

+0

是的..對於整個直覺abt我的問題檢查http://stackoverflow.com/questions/21628391/replace-words-using-soundex-python –

1

從理解中刪除生成的表達式:

data_new = [jellyfish.soundex(word) for line in data for word in line.split() ] 
1

刪除圍繞(jellyfish.soundex(word) for word in line.split())的括號,這是一個生成器表達式(se例如generator comprehension)。結果,

data_new = [jellyfish.soundex(word) for word in line.split() for line in data] 

應該給你你似乎想要的。