复合数据类型,英文词频统计
1.列表,元组,字典,集合分别如何增删改查及遍历。
1.列表:
增
list=['jin','mu','shui','huo','tu'] list.append('qi') list
删
list=['jin','mu','shui','huo','tu'] list.pop(1) list
改
list=['jin','mu','shui','huo','tu'] list[2]='bing' list
查
list=['jin','mu','shui','huo','tu'] list[0]
遍历
list=['jin','mu','shui','huo','tu'] for i in range(len(list)): print('下标:',i,' 值:',list[i])
2.元组
tup1=('jin','mu','shui','huo','tu') tup2=('qi','guang') tup3=tup1+tup2 tup3
增
删
tup1=('jin','mu','shui','huo','tu') del tup1 tup1
查
tup1=('jin','mu','shui','huo','tu') tup1[2]
遍历
tup1=('jin','mu','shui','huo','tu','qi') for i in range(len(tup1)): print('下标:',i,' 值:',tup1[i])
3.字典
增
dis={'1':'jin','2':'mu','3':'shui'} dis['4']='huo' dis
删
dis={'1':'jin','2':'mu','3':'shui'} del dis['2'] dis
改
dis={'1':'jin','2':'mu','3':'shui'} dis['3']='tu' dis
查
dis={'1':'jin','2':'mu','3':'shui'} dis['3']
遍历
dis={'1':'jin','2':'mu','3':'shui'} for i in dis: print('key:',i,' 键值:',dis[i])
4.集合
增
s=set(('jin','mu','shui','huo','tu')) s.add('qi') s
删
s=set(('jin','mu','shui','huo','tu')) s.remove('huo') s
改
s=set(('jin','mu','shui','huo','tu')) s.update(['guang']) s
2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:
- 括号
- 有序无序
- 可变不可变
- 重复不可重复
- 存储与查找方式
列表:
- 括号:有括号:[]
- 有序无序:有序
- 可变不可变:可变
- 重复不可重复:可重复
- 存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储
元组:
- 括号:有括号:()
- 有序无序:有序
- 可变不可变:不可变
- 重复不可重复:可重复
- 存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储
字典:
- 括号:有括号:{}
- 有序无序:无序
- 可变不可变:可变,根据key改变键值
- 重复不可重复:key不可重复,键值可重复
- 存储与查找方式:根据key存储和查找所对应的键值
集合:
- 括号:有括号:()
- 有序无序:无序
- 可变不可变:可变
- 重复不可重复:不可重复
- 存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储
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.可视化:词云
排序好的单词列表word保存成csv文件
def getNumber(x): y=x[1] return y file = open('F:\gril.txt','r',encoding='UTF-8').read().lower() s = "'" for i in s: file = file.replace(s,' ') song = file.split() exclude = {'a','the','i','you','and','in','but','not','it','s','if','do','m'} cun = set(song)-exclude dis = {} for i in cun: dis[i] = song.count(i) words = list(dis.items()) words.sort(key=getNumber,reverse=True) #输出前20 for j in range(20): print(words[j]) #保存为csv文件 pd.DataFrame(data=words).to_csv(r'F:\bigbig.csv',encoding='UTF-8')
import pandas as pd
pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8')
线上工具生成词云:
https://wordart.com/create
词云: