学会python——统计文件中文字出现次数(python实例九)

news2025/2/7 23:45:33

目录

1、认识Python

2、环境与工具

2.1 python环境

2.2 Visual Studio Code编译

3、统计文本文件中单词频率

3.1 代码构思

3.2 代码示例

3.3 运行结果

4、总结


1、认识Python

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。

2、环境与工具

2.1 python环境

在Windows上使用命令行窗口查看所安装的python版本

python --version

 

2.2 Visual Studio Code编译

Visual Studio Code是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全、代码重构功能,并且内置了命令行工具和Git 版本控制系统。

3、统计文本文件中单词频率

3.1 代码构思

对文本文件一行一行的进行遍历,在通过列表生成式吧每一个单词取出放在变量中,内层循环统计每一个单词出现的次数,再对次数进行统计排序,最后函数对排好序的字典按传入的参数值进行切片并返回。注意要在代码目录下新建一个文本文件“test.txt”

3.2 代码示例

import re

# 定义一个类
class CounterWord:
    def __init__(self, file_name):
        # 设置要统计单词的文件名
        self.filename = file_name
        # 初始化字典,用来保存单词出现的次数
        self.dict_count = {}

    # 定义一个统计函数
    def count_word(self):
        try:
            with open(self.filename, 'r', encoding='utf-8') as f:
                # 循环读取每一行
                for line in f:
                    words = [s.lower() for s in re.findall(r'\w+', line)]
                    # 统计单词出现的次数
                    for word in words:
                        self.dict_count[word] = self.dict_count.get(word, 0) + 1
        except FileNotFoundError:
            print(f"文件 {self.filename} 未找到。")
        except Exception as e:
            print(f"读取文件时发生错误:{e}")

    # 取出现次数在num前的单词
    def top_number(self, num):
        return sorted(self.dict_count.items(), key=lambda item: item[1], reverse=True)[:num]

if __name__ == '__main__':
    counter_obj = CounterWord('./part2/test.txt')
    counter_obj.count_word()
    top_num_6 = counter_obj.top_number(6)
    print('test.txt 中出现次数前六的单词有:')
    for word, count in top_num_6:
        print(f"{word} 出现:{count} 次")

3.3 运行结果

4、总结

该代码可以用作文本内容检查,检查高频率用语。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1850899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 Python 进行测试(7)...until you make it

总结 我很懒,我想用最少的行动实现目标,例如生成测试数据。我们可以: 使用随机种子保证数据的一致性。 >>> random.seed(769876987698698) >>> [random.randint(0, 10) for _ in range(10)] [10, 9, 1, 9, 10, 6, 5, 10…

pytest测试框架pytest-sugar插件生成进度条

Pytest提供了丰富的插件来扩展其功能,介绍下插件pytest-sugar,可以帮助我们在控制台中显示彩色的测试结果和进度条,提供失败的堆栈回溯信息。 为了使用 pytest-sugar,需要满足以下条件: Python 3.8 或更高版本pytest…

Nominatim免费的地址解析,逆地址解析,OpenStreetMap开源地图数据【全网最全】

视频学习地址 国内的一些地址解析供应商的API都开始付费了,就想找个免费的地址解析和逆地址解析的应用,最终选择了Nominatim OpenStreetMap 文章目录 一、选型1-1、数据源1-2、地理编码引擎2-1、初尝Nominatim2-1-1、地址解析2-1-2、逆地址解析 2-2、OS…

【MMSegmentation 环境配置】

MMSegmentation 环境配置 1. 创建python 环境2. 安装pytorch3. 安装MMCV4. 安装 MMSegmentation.5. 测试是否安装成功 1. 创建python 环境 conda create --name openmmlab python3.8 -y conda activate openmmlab2. 安装pytorch On GPU platforms: conda install pytorch tor…

平凉特色小吃,味蕾的诱惑之旅

平凉,这座历史悠久的城市,不仅拥有深厚的文化底蕴,更有着让人垂涎欲滴的特色小吃。每一种小吃都承载着当地人的情感与记忆,成为了平凉独特的饮食符号。平凉特色小吃酿皮更是别具风味。爽滑透明的凉皮,配上香辣可口的调…

动态规划——买卖股票的最佳时机含冷冻期

1、题目链接 leetcode 309. 买卖股票的最佳时机含冷冻期 2、题目分析 该题有我们可以定义三种状态,买入状态,可交易状态 ,冷冻期状态 我们可以建立一个n*3的二维数组来表示这三种状态: 根据这个图可以看出, 可以从…

JAVA同城服务场馆门店预约系统支持H5小程序APP源码

📱一键预约,畅享无忧体验🏢 🚀一、开启预约新纪元 在繁忙的都市生活中,我们常常因为时间紧张而错过心仪的门店或场馆服务。然而,有了“门店场馆预约小程序”,这些问题都将迎刃而解。这款小程序…

前端编程语言——JS语言结构、函数、数组、字符串、日期、对象、定时器(2)

0、前言: 这篇文章记录的是我自己的学习笔记。在python中通过input来获取输入,在JS中用prompt(),来获取输入。写JS代码要记得每个代码结束要加上分号。 1、JS编程语言结构: 顺序结构:从上往下依次执行分支结构&#…

2021-03-29:加密与解密

前段时间导师分配的任务主要是看《加密与解密》这本书,“书本写的很详细,认真看会看懂的!” 是的啊,书本写的很详细,可是作为一个没基础的小白看起来还是挺吃力的,概念一个接一个的出现,虽然看…

每日待办事项提醒用什么便签app比较好?

在快节奏的现代生活中,我们经常需要记住各种事项,如会议、预约、购物清单等。这时,一个高效的便签App就显得尤为重要,可以帮助我们有效地管理日常任务和待办事项。而每日待办事项提醒用什么便签app比较好?面对市场上众…

Vulnhub--AI: WEB: 2

渗透复现 平台框架存在目录穿越漏洞,利用该漏洞读取敏感信息 Ping功能点绕过,进行命令执行操作,反弹shell无果后,利用目录穿越漏洞遍历敏感API,读取到用户SSH登录凭证 SSH登录进行Linux lxd容器提权 知识扩展 目录…

【Proteus仿真】【Arduino单片机】汽车倒车报警系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduinno单片机控制器,使用LCD1602液晶、按键、继电器电机模块、DS18B20温度传感器、蜂鸣器LED、HCSR04超声波等。 主要功能: 系统运行后,LCD16…

【PyCUDA安装问题集锦:网站失效】

windows 下 pycuda 安装问题 问题一 安装不上的主要问题:pip默认安装最新版,导致pycuda版本和系统版本不对应。 1.先查看cuda版本 nvidia-smi2.查看需要安装的虚拟环境的python版本(如python3.8) 3.前往下载python扩展包&…

Django从入门到精通:First [Django版本.Python面向对象.Web基础.创建Django项目]

文章目录 Django初学者指南1 Django简介1.1 Django的历史1.2 使用Django的知名网站1.4 Django的主要特点1.5 Django的工作原理 2 Django 版本选择2.1 Django 支持的 Python 版本2.2 Django 版本 3 Django 开发 Web 程序3.1 Python知识点3.1.1 Python 函数3.1.2 Python 面向对象…

【LeetCode热题 100】螺旋矩阵

leetcode原地址:https://leetcode.cn/problems/spiral-matrix/description 描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8…

Rcmp: Reconstructing RDMA-Based Memory Disaggregation via CXL——论文阅读

TACO 2024 Paper CXL论文阅读笔记整理 背景 RDMA:RDMA是一系列协议,允许一台机器通过网络直接访问远程机器中的数据。RDMA协议通常固定在RDMA NIC(RNIC)上,具有高带宽(>10 GB/s)和微秒级延…

Apple - Launch Services Programming Guide

本文翻译整理自:Launch Services Programming Guide https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/LaunchServicesConcepts/LSCIntro/LSCIntro.html#//apple_ref/doc/uid/TP30000999-CH201-TP1 文章目录 一、导言谁应该阅读此文档…

考前刷题练手感(北航期末往年数据结构编程题)

本次因为是考前一天极速刷题,所以没有讲解,若有问题可私信。 目录 一、 查找同时空人员二、 老鼠回家-无回路三、函数调⽤关系四、东二食堂模拟五、栈帧 一、 查找同时空人员 【问题描述】 假设一共有6个手机基站,都具有记录手机连接基站状…

动手学深度学习(Pytorch版)代码实践 -深度学习基础-10权重衰减

10权重衰减 """ 正则化是处理过拟合的常用方法:在训练集的损失函数中加入惩罚项,以降低学习到的模型的复杂度。 保持模型简单的一个特别的选择是使用L2惩罚的权重衰减。这会导致学习算法更新步骤中的权重衰减。 """impor…

揭秘古代手术工具与技术:从中国起源的医疗奇迹

在人类历史的长河中,医学的发展一直是推动社会进步的重要力量。而手术作为医学的一个重要分支,其发展历程同样充满了传奇色彩。今天,我们将带您走进古代手术的世界,揭秘那些令人惊叹的手术工具和技术。 这把手术刀出土于河北西村遗…