复合数据类型,英文词频统计
1.列表,元组,字典,集合分别如何增删改查及遍历。
答:
(1)列表的增删改查:
增:使用append()方法在列表的末尾增加新的元素
删:使用del语句来删除列表的元素
改:通过下标索引找到值然后直接修改
查:访问的方式可以是通过下标索引,也可以是以方括号的形式截取字符
(2)元组:
增:可以通过直接在括号中添加元素,并使用逗号隔开
删:元组中的元素不能被直接删除,但是可以通过del语句来删除整个元组
改:元组元素不能修改
查:可以通过下标索引值查找元组中的元素
(3)字典:
#字典 dict={'Panda':12,'Dog':20} print(dict) #增加 dict['Cat']=16 print(dict) #删除 dict.pop("Cat") print(dict) #修改 dict['Dog']=12 print(dict) #查找 print("Dog:",dict['Dog']) #遍历 for i in dict: print(i)
(4)集合
#集合 set={"Baidu","TaoBao"} print(set) #增加 set.add("YaHu") print(set) #删除 set.remove("YaHu") print(set) #遍历 for i in set: print(i)
2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:
- 括号
- 有序无序
- 可变不可变
- 重复不可重复
- 存储与查找方式
总结列表,元组,字典,集合的联系与区别
列表 | 字典 | 元组 | 集合 | |
括号 | [] | {} | () | {} |
有序无序 |
有序 | 有序 | 有序 | 无序 |
可变不可变 | 可变 | 可变 | 不可变 | 可变 |
重复不可重复 | 可重复 | 不可重复 | 可重复 | 不可重复 |
存储与查找方式 | 索引 | 键值 | 索引 | 无 |
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文件
import pandas as pd
pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8')
import pandas as pd
import stopwords
stopwords=stopwords.get_stopwords('english')
f=open("Crimes and Punishments.txt","r",encoding="utf-8")
str=f.read()
f.close()
remove=",,—-。?.()?!‘’"
str=str.lower()
dict={}
for i in remove:
str=str.replace(i," ")
list=str.split()
for word in list:
if word not in stopwords:
dict[word]=list.count(word)
d=sorted(dict.items(), reverse=True, key=lambda d:d[1])
for l in range(20):
print(d[l][0],"--",d[l][1])
pd.DataFrame(data=d).to_csv('words.csv',encoding='utf-8'
线上工具生成词云: