统计 Python 字符串中每个单词出现的频率

目录:

本文中,需要编写一个 Python 程序,该程序将接受一个字符串作为输入并计算其中每个单词的出现次数。我们可以用多种方法来解决这个问题。

使用列表计算词频

使用列表来计算字符串中每个单词的出现次数:

将字符串转换为列表 input_string_list。

初始化一个空的列表 unique_string_list。

将字符串列表中的唯一值添加到空列表 unique_string_list。

使用循环迭代列表 unique_string_list 的元素,使用 count() 函数计算元素在列表 input_string_list 中出现的次数。

python 复制代码
# 测试字符串
input_string ='python  javascript java python javascript python java'
print("字符串:", input_string)
# 字符串转列表
input_string_list = input_string.split()     
print("字符串列表:", input_string_list)
unique_string_list = [] 
# iterate the input string list and find unique words 
for i in input_string_list:         
    if i not in unique_string_list: 
        unique_string_list.append(i) 
print("唯一字符串列表:", unique_string_list)
for i in range(0, len(unique_string_list)):
    # 统计输出单词数量
    print('词频[{}]: {}'.format(unique_string_list[i], input_string_list.count(unique_string_list[i])))

运行结果:

python 复制代码
字符串: python  javascript java python javascript python java
字符串列表: ['python', 'javascript', 'java', 'python', 'javascript', 'python', 'java']
唯一字符串列表: ['python', 'javascript', 'java']
词频[python]: 3
词频[javascript]: 2
词频[java]: 2

使用集合计算词频

使用集合来计算字符串中每个单词的出现次数:

同将字符串转换为列表 input_string_list。

将列表转换为集合删除重复项。

使用循环迭代集合的元素,使用 count() 函数计算元素在列表 input_string_list 中出现的次数。

python 复制代码
# 测试字符串
input_string ='python  javascript java python javascript python java'
print("字符串:", input_string)
# 字符串转列表
input_string_list = input_string.split()
print("字符串列表:", input_string_list)
# 列表转集合
unique_string_set = set(input_string_list) 
print("字符串集合:", unique_string_set)
for i in unique_string_set:
    print('词频[{}]: {}'.format(i, input_string_list.count(i)))

运行结果:

python 复制代码
字符串: python  javascript java python javascript python java
字符串列表: ['python', 'javascript', 'java', 'python', 'javascript', 'python', 'java']
字符串集合: {'java', 'javascript', 'python'}
词频[java]: 2
词频[javascript]: 2
词频[python]: 3
相关推荐
之歆15 分钟前
Python-封装和解构-set及操作-字典及操作-解析式生成器-内建函数迭代器-学习笔记
笔记·python·学习
mrbone1116 分钟前
Git-git worktree的使用
开发语言·c++·git·cmake·worktree·gitab
浪裡遊27 分钟前
Sass详解:功能特性、常用方法与最佳实践
开发语言·前端·javascript·css·vue.js·rust·sass
真实的菜34 分钟前
JVM类加载系统详解:深入理解Java类的生命周期
java·开发语言·jvm
代码讲故事1 小时前
多种方法实现golang中实现对http的响应内容生成图片
开发语言·chrome·http·golang·图片·快照·截图
天天爱吃肉82181 小时前
ZigBee通信技术全解析:从协议栈到底层实现,全方位解读物联网核心无线技术
python·嵌入式硬件·物联网·servlet
虾球xz1 小时前
CppCon 2018 学习:EFFECTIVE REPLACEMENT OF DYNAMIC POLYMORPHISM WITH std::variant
开发语言·c++·学习
Allen_LVyingbo2 小时前
Python常用医疗AI库以及案例解析(2025年版、上)
开发语言·人工智能·python·学习·健康医疗
小哈龙2 小时前
裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端
开发语言·git·bash
智能砖头2 小时前
LangChain 与 LlamaIndex 深度对比与选型指南
人工智能·python