【问题标题】:Simple finding instances of matches in a list with python使用python在列表中简单查找匹配实例
【发布时间】:2020-11-26 21:59:15
【问题描述】:

我想在句子列表中找到一个单词('pair)并将每个单词的频率添加到计数中。我收到一个断言错误,但我不明白我哪里出错了。是否缺少步骤?

def finding_instances(sentences, pair):
     counter = 0
     for sentence in sentences:
          words = sentence.split() 
     for words in sentences:
          if pair in words:
                counter += 1
          return counter

assert finding_instances(["welcome to the great parade", "good morning", "I enjoy Python", "Welcome in"], "Python") == 1
assert finding_instances(["I hate", "other languages", "I am", "Hello"], "Welcome") == 0

【问题讨论】:

  • "...请和我一起忍受..."
  • 您的return 语句位于for 循环内。将其移到for 循环之外
  • 哪个断言失败了?您有任何尝试找出问题吗?
  • 这样,您将单词分配给句子最后一句中的单词列表。另外,请澄清您是要计算单词出现的次数,还是要计算子字符串出现的次数。如在查找“The”时是否希望“Thesaurus”匹配?您可能还想使用 lower() 方法,以防在检查 'the' 时同时计算 'the' 和 'The'。

标签: python python-3.x list function for-loop


【解决方案1】:

你几乎完成了!

def finding_instances(sentences, pair):
     counter = 0
     for sentence in sentences:
          words = sentence.split() 
          if pair in words:
                counter += 1
     return counter

【讨论】:

  • 也许还可以使用 .lower() 来确保在查找“the”时计算“The”。
猜你喜欢
  • 1970-01-01
  • 2019-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多