Python 将字符串中的单词放入列表中

Python 将字符串中的单词放入列表中,python,string,list,Python,String,List,我是python新手,我尝试将单词放入字符串并放入列表,但我遇到了麻烦。 它应该是这样的: 输入:句子=我喜欢的单词 输出:单词列表=['abcde','that','i','like.] 这就是我尝试过的: word = "" list_of_words = [] sentence = "abcde that i like." for letter in sentence: if letter != " ": word += letter else: list_of

我是python新手,我尝试将单词放入字符串并放入列表,但我遇到了麻烦。 它应该是这样的:

输入:句子=我喜欢的单词

输出:单词列表=['abcde','that','i','like.]

这就是我尝试过的:

word = "" 
list_of_words = []
sentence = "abcde that i like."
for letter in sentence:
  if letter != " ":
    word += letter 
  else:
    list_of_words.append(word)
    word = ""
print(list_of_words)
当我运行代码时,输出为:

['abcde','that','i']

我正在试图弄清楚为什么最后一个单词不包括在列表中。

您只需使用str.split:

如果希望在没有标点符号的情况下获得更好的结果,如演示中的句点“.”,则应尝试使用正则表达式:

>>> import re
>>> re.findall(r'\w+', sentence)
['abcde', 'that', 'i', 'like']

在这里阅读更多信息:

你可以随时使用。分开,嗯。至于为什么不包括最后一个单词,试着自己遍历循环的最后几次迭代。谢谢,我不知道。拆分存在,这非常有用。最后一个单词没有附加,因为句子没有以空格结尾,我完全没有意识到这一点。我看了几遍最后的几段,但出于某种原因,我没有看到底。你只检查空格,而不是句号或其他标点符号
>>> import re
>>> re.findall(r'\w+', sentence)
['abcde', 'that', 'i', 'like']