我是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
答案 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]