Python列表理解(将句子转换为单词)

时间:2014-06-27 03:23:00

标签: python

我是python的新手并且有一个简单的疑问。

我正在尝试列表理解。

我正在尝试将字符串中的单词添加到列表中。但无法这样做。我做错了什么?

sentence = "there is nothing much in this"

wordList = sentence.split(" ") #normal in built function
print wordList

wordList = [ x for x in sentence if x!=" "] #using list comprehension
print wordList

1 个答案:

答案 0 :(得分:2)

以下内容:

wordList = [ x for x in sentence if x!=" "] #using list comprehension
print wordList

无法按预期工作。

Python中的列表Comphrehsnios基本上是编写普通for循环的简写形式。

以上内容可以写成:

wordList = []
for x in sentence:
    if x != "":
        wordList.append(x)

print wordList

你知道为什么这不起作用吗?

这实际上会迭代字符串sentence中的所有字符。

你可以用for循环做任何事情,你可以用列表理解。

示例:

xs = []
for i in range(10):
    if i % 2 == 0:
        xs.append(i)

相当于:

xs = [i for i in range(10) if i % 2 == 0]