博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
复合数据类型,英文词频统计
阅读量:5937 次
发布时间:2019-06-19

本文共 2125 字,大约阅读时间需要 7 分钟。

作业的要求来自:

 


 

1.列表,元组,字典,集合分别如何增删改查及遍历。

  1. 列表操作
    # -*- coding: utf-8 -*-# 定义一个列表textList = ['cd','rm','mkdir','cat','tar']# 列表增加textList.append('gunzip')textList.insert(2 , 'qzip')# 列表删除textList.pop(1)del textList[3]# 列表修改textList[1] = 'love'# 列表遍历for i in range(len(textList)):    print(textList[i])
  2. 元组操作
    # 定义元组tuple1 = (1,2,3,4,5,6)tuple1 = tuple([1,2,3,4]) #序列->元组# 遍历元组for i in range(len(tuple1)):    print(tuple1[i])
  3. 字典操作
    # 创建字典textDict = {
    'xiaoming':'80','xiaobai':'90'}print(textDict)# 增加操作textDict['xiaohong']='100'print(textDict)# 修改操作textDict['xiaoming']='100'print(textDict)# 删除操作del textDict['xiaoming']print(textDict)# 查找操作print(textDict['xiaobai'])# 遍历操作for s in textDict: print( "%s : %s"%(s,textDict[s]))
  4. 集合
    # 两种方法创建set1 = set('kydaa')set2 = {
    'abc', 'jaja', 'abc', 'kyda'}print(set1)print(set2)# 结果:自动将重复元素去除{
    'a', 'y', 'd', 'k'}{
    'jaja', 'abc', 'kyda'}

     


2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:

  1. 列表:列表是用[]括起来的,是一种有序的数据结构,这种数据结构是可以变化的,里面的值也是可以变化的,存储的方式是[,,,],增加的方式有在后面增加也有在指定的位置进行插入,查找方式有按index的值进行查找。
  2. 元组:元组是用()括起来的,是一种有序的数据结构,这种数据结构是不可以变化的,即初始化后就不能再修改了但是例外的就是里面有列表是可以修改列表里面的值,存储方式是(,,,)。
  3. 字典:字典是用{}括起来的,是一种无序的数据结构,这种数据结构是可以变化的,里面的值键子是不可以重复的,存储方式是{‘key1’:‘value’,‘key2’:‘value’},查找的方式是同配对键子的值。
  4. 集合:集合特性:与字典类似,但只包含键,而没有对应的值,包含的数据不重复。

3.词频统计

  • 1.下载一长篇小说,存成utf-8编码的文本文件 file

    2.通过文件读取字符串 str

    3.对文本进行预处理

    4.分解提取单词 list

    5.单词计数字典 set , dict

    6.按词频排序 list.sort(key=lambda),turple

    7.排除语法型词汇,代词、冠词、连词等无语义词

    • 自定义停用词表
    • 或用stops.txt

  8.输出TOP(20)

  • 9.可视化:词云
  • 代码如下
  • # 读取文件f = open("wz.txt","r")text = f.read()f.close()# 转为小写text = text.lower()# 将所有其他做分隔符(,.?!)替换为空格text = text.replace(","," ").replace("."," ").replace("?"," ").replace("!"," ")# 分割为单词text = text.split()setText = set(text)exclude = {
    'a','the','and','i','you','in','but','not','with','by','its','for','of','an','to'}setText = setText-exclude# 转为字典textDict = {}for word in setText: textDict[word] = text.count(word)# 转为列表word = list(textDict.items())word.sort(key = lambda x:x[1],reverse=True)print(word[:20])# 生成excelimport pandas as pdpd.DataFrame(data=word).to_csv('Harry Potter.csv',encoding='utf-8')

    可视化如下

  •  

 

转载于:https://www.cnblogs.com/hesz/p/10514143.html

你可能感兴趣的文章
算法笔记_098:蓝桥杯练习 算法提高 盾神与条状项链(Java)
查看>>
apache安装mod_ssl.so 出现 undefined symbol: ssl_cmd_SSLPassPhraseDialog错误解决
查看>>
new Function()
查看>>
Vector & ArrayList Hashtable & HashMap ArrayList & LinkedList
查看>>
Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
查看>>
Mysql 监视工具
查看>>
hdu1025 Constructing Roads In JGShining's Kingdom(二分+dp)
查看>>
Android PullToRefreshListView和ViewPager的结合使用
查看>>
禅修笔记——硅谷最受欢迎的情商课
查看>>
struts2入门(搭建环境、配置、示例)
查看>>
Caused by: org.apache.ibatis.reflection.ReflectionException我碰到的情况,原因不唯一
查看>>
linux top命令查看内存及多核CPU的使用讲述【转】
查看>>
Linux下golang开发环境搭建
查看>>
jQuery操作input
查看>>
layer弹出信息框API
查看>>
delete from inner join
查看>>
WPF自学入门(十一)WPF MVVM模式Command命令 WPF自学入门(十)WPF MVVM简单介绍...
查看>>
git merge 和 git merge --no-ff
查看>>
kernel笔记——内核编译与进程管理
查看>>
shell中定义变量用双引号和单引号以及不用引号的区别
查看>>