复合数据类型,英文词频统计

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'


线上工具生成词云:

 


posted @ 2019-03-14 18:23  廖世豪  阅读(228)  评论(0编辑  收藏  举报