目录

  • 1 安装Python环境
    • 1.1 Python开发环境安装
    • 1.2 开始了解一些语句编写小程序
    • 1.3 尝试更多的小程序
    • 1.4 试一试:开始自己编写程序(可选)
  • 2 变量与字符串
    • 2.1 变量
    • 2.2 输出
    • 2.3 字符串
    • 2.4 字符串常用方法
    • 2.5 案例一温度转换
    • 2.6 案例二turtle库
      • 2.6.1 turtle库基础知识
    • 2.7 实践与练习
  • 3 最基本的魔法函数
    • 3.1 重新认识函数
    • 3.2 开始创建函数
    • 3.3 练习题
    • 3.4 传递参数与参数类型
    • 3.5 案例:文本敏感词过滤器
  • 4 循环与判断
    • 4.1 程序的三种控制结构
    • 4.2 逻辑控制
      • 4.2.1 比较运算
      • 4.2.2 成员运算符与身份运算符
      • 4.2.3 布尔运算符
    • 4.3 条件控制
    • 4.4 循环
      • 4.4.1 for 循环
      • 4.4.2 while 循环
      • 4.4.3 练习题
    • 4.5 综合练习:制作小游戏
      • 4.5.1 设计思路
      • 4.5.2 编程实现
      • 4.5.3 练习题
    • 4.6 PS:程序的异常处理
  • 5 数据结构
    • 5.1 数据结构
    • 5.2 列表
    • 5.3 字典
    • 5.4 元组
    • 5.5 集合
    • 5.6 数据结构的一些技巧
    • 5.7 综合项目:词频统计
  • 6 文件和数据格式化
    • 6.1 文件的使用
    • 6.2 PIL库的使用--操作图像文件
    • 6.3 数据的格式化和处理
      • 6.3.1 一维数据的格式化和处理
      • 6.3.2 二维数据的格式化和处理
    • 6.4 实例:CSV格式的HTML展示
    • 6.5 高维数据的格式化和处理
      • 6.5.1 高维数据的格式化和处理
      • 6.5.2 json库的使用
    • 6.6 项目1制作英语学习词典
  • 7 开始使用第三方库
    • 7.1 令人惊叹的第三方库
    • 7.2 安装第三方库
      • 7.2.1 第三方库的安装
      • 7.2.2 实例:pip安装脚本
    • 7.3 使用第三方库
      • 7.3.1 实例:文本词频统计
      • 7.3.2 案例:中文分词与词云统计
      • 7.3.3 案例:数据分析与可视化
  • 8 程序设计方法学
    • 8.1 自顶向下设计和自底向上执行测试
    • 8.2 pyinstaller库的使用--打包源文件
  • 9 2020校通识课程结业
  • 10 运算符、基本数据类型
    • 10.1 数值类型及其操作
    • 10.2 math库函数
    • 10.3 案例学习:天天向上的力量
    • 10.4 第四周作业
    • 10.5 字符串类型及其操作
    • 10.6 案例学习:文本进度条
  • 11 Python综合设计实验一
    • 11.1 Python基本操作
    • 11.2 课堂实战练习
  • 12 程序控制结构
    • 12.1 分支结构(选择结构)
    • 12.2 循环结构
    • 12.3 程序的异常处理
    • 12.4 random库的使用
  • 13 函数和代码复用
    • 13.1 函数的定义与调用
    • 13.2 函数参数传递
    • 13.3 模块化编程-通过函数复用
    • 13.4 datetime库的使用
    • 13.5 案例:七段数码管绘制
    • 13.6 函数的递归
    • 13.7 案例:科赫曲线(雪花)的绘制
  • 14 组合数据类型
    • 14.1 组合数据类型概述
    • 14.2 列表类型与操作
    • 14.3 实例:基本统计值计算
    • 14.4 字典类型和操作
    • 14.5 实例:Python之禅
  • 15 类和可口可乐
    • 15.1 定义类
    • 15.2 类的实例化
    • 15.3 类属性引用
    • 15.4 实例属性
    • 15.5 实例方法
    • 15.6 魔术方法
    • 15.7 类的继承
    • 15.8 类的扩展理解
    • 15.9 类的实践
  • 16 网络爬虫方向和自动化
    • 16.1 网络爬虫
    • 16.2 玫瑰花的绘制
  • 17 课程项目设计与实现
    • 17.1 下载项目文档
    • 17.2 参考案例学习
    • 17.3 项目实现步骤
    • 17.4 学习资源
综合项目:词频统计
  • 1 词频统计
  • 2 英文词频统计--more

综合项目:文本词频统计

      为了深入理解数据结构的使用方法,我们来做一个词频统计(文章中每个词出现的次数)。首先需要下载一个文本(例如:哈姆雷特),请到本平台“资料”下载hamlet.txt,放置到桌面。(注意文件存放路径的表示)

    在开始动手前,我们先学习一些必要的知识。


       现在我们使用split方法将字符串中的每个单词分开,得到独立的单词:


      接下来是词频统计。


结果出来了,但看起来并不理想。


                               部分结果截图

仔细观察得出结论:


     第1行:引入一个新的模块string 。你可以试试打印出string.punctuation,其实它就是包含了所有的英文标点符号:!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ 

    第4行:在将本文中的字符全转化为小写;

    第5行:将文本中的标点符号替代成空格

   第7行:将列表用set函数转换成集合,自动去除掉了其中所有重复的元素;

   第8行: 创建一个以单词为键(key)出现频率为值(value)的字典; 

   第9行:打印整理后的函数,其中称为lambada表达式,可以暂且理解为以字典中的值为排序的参数。

      运行后部分截图: