我有一个文本文件,其中包含从书本中提取的很长的文本。我想遍历文本的每个句子,然后再次遍历每个句子的每个单词。
想法是,如果该单词属于类别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循环有关,因为每个单词归为一类后都有一条打印语句。
答案 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