【问题标题】:Printing one sentence per line after a for loop在 for 循环后每行打印一个句子
【发布时间】:2018-10-18 16:01:55
【问题描述】:

我有一个文本文件,我想 1) 遍历其中的每个句子,然后 2) 遍历其句子的每个单词以修改其中的一些,然后 3) 打印生成的新文本版本,每个句子一个句子线

这是我迄今为止尝试过的:

import my_text

for sentence in my_text.sents():
    for word in sentence:
        if word == "the":
            print("article", end= " ")
        else:
            print("non-article", end= " ")
     if word == sentence[-1]:
        print("\n")

此代码有效,我的文本被修改并每行打印一个句子。但是,每个句子之间都有一个空行,我想删除它。示例:

article non-article non-article non-article

non-article non-article non-article non-article non-article non-article

article non-article non-article non-article

这就是我想要的:

article non-article non-article non-article
non-article non-article non-article non-article non-article non-article
article non-article non-article non-article

我该怎么做?

【问题讨论】:

    标签: python


    【解决方案1】:

    问题出在print("\n"),end 的默认值是"\n",所以每次print("\n") 都会打印"\n\n"。只需使用print()

    sentences = ["the cat and dog", "the mouse and cat", "the fox and else"]
    sentences = [sentence for sentence in map(str.split, sentences)]
    
    for sentence in sentences:
        for word in sentence:
            if word == "the":
                print("article", end=" ")
            else:
                print("non-article", end=" ")
    
            if word == sentence[-1]:
                print()
    

    输出

    article non-article non-article non-article 
    article non-article non-article non-article 
    article non-article non-article non-article 
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      import my_text
      
      for sentence in my_text.sents():
        end = " "
        for word in sentence:
          if word == sentence[-1]:
              end = "\n"
          if word == "the":
              print("article", end=end)
          else:
              print("non-article", end=end)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-18
        • 2018-10-17
        • 2021-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多