📌  相关文章
📜  打印一个句子中出现的所有单词恰好 K 次(1)

📅  最后修改于: 2023-12-03 15:39:40.702000             🧑  作者: Mango

打印一个句子中出现的所有单词恰好 K 次

简介

本文介绍如何编写一个函数,接受一个句子和一个正整数 K ,输出句子中出现恰好 K 次的所有单词。需要注意的是,单词不区分大小写。

函数定义

函数接受两个参数:

def find_words(sentence: str, k: int) -> List[str]:
    pass

其中,sentence 是一个字符串,表示要查找的句子;k 是一个正整数,表示单词出现的次数。

函数返回一个字符串列表,包含出现恰好 K 次的单词。

实现思路

本函数的实现需要经过以下几个步骤:

  1. 将句子拆分成单词。
  2. 统计每个单词的出现次数。
  3. 查找出现恰好 K 次的单词。
  4. 返回结果。

具体实现可以参考下面的代码:

from collections import defaultdict
from typing import List

def find_words(sentence: str, k: int) -> List[str]:
    # 将句子转换成小写,并按空格拆分成单词
    words = sentence.lower().split()

    # 统计每个单词的出现次数
    counters = defaultdict(int)
    for word in words:
        counters[word] += 1

    # 查找出现次数为 K 的单词
    result = []
    for word, count in counters.items():
        if count == k:
            result.append(word)

    return result
示例
sentence = "The quick brown fox jumps over the lazy dog"
k = 1
result = find_words(sentence, k)
print(result) # ["the", "quick", "brown", "fox", "jumps", "over", "lazy", "dog"]

k = 2
result = find_words(sentence, k)
print(result) # []

k = 3
result = find_words(sentence, k)
print(result) # []
总结

本文介绍了如何编写一个函数,实现在一个句子中查找出现恰好 K 次的所有单词的功能。通过理解本文中的实现思路,可以更好地理解 Python 中的字典和集合类型,以及如何使用它们解决实际问题。