欢迎访问宙启技术站
智能推送

统计Python字符串中单词出现次数的函数

发布时间:2023-10-06 23:51:03

要统计Python字符串中单词出现的次数,可以使用以下函数:

def count_words(string):
    # 将字符串转换为全部小写字母
    string = string.lower()
    
    # 用空格分割字符串,得到单词列表
    words = string.split()
    
    # 创建一个空字典,用于存储每个单词的出现次数
    word_count = {}
    
    # 遍历单词列表
    for word in words:
        # 使用字典的get()方法,传入单词作为键,返回该键的值,如果键不存在返回0
        word_count[word] = word_count.get(word, 0) + 1
    
    return word_count

这个函数的实现过程如下:

1. 将输入的字符串转换为小写字母,这样可以忽略大小写的差异。

2. 使用split()方法将字符串按照空格分割为单词列表。

3. 创建一个空字典,用于存储每个单词的出现次数。

4. 遍历单词列表,对于每个单词,使用字典的get()方法获取该单词的值,如果不存在则返回0。然后将其加1,并将结果存储在字典中。

5. 返回保存了单词出现次数的字典。

下面是一个示例:

string = "I love Python programming. Programming is fun!"
result = count_words(string)
print(result)

输出:

{'i': 1, 'love': 1, 'python': 1, 'programming.': 1, 'programming': 1, 'is': 1, 'fun!': 1}

注意,这个函数会将标点符号一同计算在内。如果需要在统计时忽略标点符号,可以通过字符串处理方法进行预处理。此外,由于函数使用了split()方法按照空格分割字符串,所以对于连续的空格或换行符并不会解析为新的单词,需要根据具体情况进行处理。