统计 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
相关推荐
郝学胜-神的一滴3 分钟前
对于类似std::shared_ptr但有可能空悬的指针使用std::weak_ptr: Effective Modern C++ 条款20
开发语言·c++·程序人生·系统架构
啥都学点的程序员16 分钟前
python实现的websocket日志类
后端·python
linux修理工24 分钟前
使用 SecureCRT 连接华为 eNSP 模拟器的方法
服务器·开发语言·php
若水晴空初如梦31 分钟前
QT聊天项目DAY17
开发语言·qt
Murphy_lx43 分钟前
C++ stdset 与 stdmultiset 深度比较
开发语言·c++
LZQqqqqo1 小时前
C# 事件Event
开发语言·c#
ZeroNews内网穿透1 小时前
ZeroNews内网穿透安全策略深度解析:构建企业级安全连接体系
java·运维·服务器·网络·python·安全·php
仪器科学与传感技术博士1 小时前
python:如何调节机器学习算法的鲁棒性,以支持向量机SVM为例,让伙伴们看的更明白
python·算法·机器学习
样子20181 小时前
PHP 之使用HTMLPurifier过滤XSS
开发语言·前端·php·xss
安冬的码畜日常2 小时前
【AI 加持下的 Python 编程实战 2_13】第九章:繁琐任务的自动化(中)——自动批量合并 PDF 文档
人工智能·python·自动化·ai编程·ai辅助编程