使用for循环遍历文本文件中的单个单词

时间:2018-10-17 00:54:18

标签: python

我有一个文本文件,其中包含从书本中提取的很长的文本。我想遍历文本的每个句子,然后再次遍历每个句子的每个单词。

想法是,如果该单词属于类别1,则将其替换为“ determiner”,如果属于类别2,则将其替换为“ non-determiner”。然后,for循环将打印每个句子(每行一个句子),并相应替换所有单词。

这是我到目前为止尝试过的:

import my_books

for sentence in my_books.sents("book1"):
        for word in my_books.words("book1"):
            if word == "the":
                print("determiner")
            else:
                print("non-determiner")

但是,我的输出是每行一个单词的列表:

determiner
non-determiner
non-determiner
non-determiner
...

这是我想要的:

determiner non-determiner non-determiner non-determiner
non-determiner non-determiner determiner non-determiner non-determiner
non-determiner non-determiner determiner ...

我该怎么做才能获得所需的输出?我认为问题与for循环有关,因为每个单词归为一类后都有一条打印语句。

1 个答案:

答案 0 :(得分:0)

这是一个快速修复。在打印语句中,您可以设置“ end”字符,默认为“ \ n”(换行)至所需的任何字符。通过将此设置为“”,并添加一条只换行的打印语句,您将获得所需的内容:

import my_books

for sentence in my_books.sents("book1"):
        for word in my_books.words("book1"):
            if word == "the":
                print("determiner", end=" ")
            else:
                print("non-determiner", end=" ")
        print("") # Here end="\n", and so it will go to a new line