2014-02-08 100 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] 

应该给你你似乎想要的。