Python 3.x 使用迭代在python中拆分句子

Python 3.x 使用迭代在python中拆分句子,python-3.x,programming-languages,Python 3.x,Programming Languages,我在课堂上遇到了一个挑战,那就是使用迭代法将一个句子拆分成一个单独的单词列表。我不能使用任何分割函数。有人有什么想法吗 sentence = 'how now brown cow' words = [] wordStartIndex = 0 for i in range(0,len(sentence)): if sentence[i:i+1] == ' ': if i > wordStartIndex: words.append(senten

我在课堂上遇到了一个挑战,那就是使用迭代法将一个句子拆分成一个单独的单词列表。我不能使用任何分割函数。有人有什么想法吗

sentence = 'how now brown cow'
words = []
wordStartIndex = 0
for i in range(0,len(sentence)):
    if sentence[i:i+1] == ' ':
        if i > wordStartIndex:
            words.append(sentence[wordStartIndex:i])
            wordStartIndex = i + 1
if i > wordStartIndex:
    words.append(sentence[wordStartIndex:len(sentence)])
for w in words:
    print('word = ' + w)   

需要调整前导空格、多个空格或标点符号

我从不会错过一个拖出
itertools.groupby()的机会。

输出

% python3 test.py
['How', 'now', 'brown', 'cow']
%

现在返回并定义“单词”的含义,例如,对于连字符、撇号等,您想做些什么。

您的代码在哪里?尝试过谷歌搜索?简单搜索“[python]拆分句子”表明这一问题已经得到解答。可能会有帮助。@MarkFitzgerald,OP不能使用
.split()
,而该页上的许多答案几乎都使用
.split()
。解决自然语言问题,这些问题可能在尝试简单的解决方案后立即出现。
% python3 test.py
['How', 'now', 'brown', 'cow']
%