本次作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753
1.列表,元组,字典,集合分别如何增删改查及遍历。
- 列表:
对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项;可以使用 del 语句来删除列表的的元素;

(1)增


(2)删

(3)改

(4)查

(5)遍历

- 元组:
元组可以使用下标索引来访问元组中的值;元组中的元素值是不允许修改的,但我们可以对元组进行连接组合;元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组;

(1)查

- 字典:
把相应的键放入到方括号中;向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对;能删单一的元素也能清空字典,清空只需一项操作,显示删除一个字典用del命令;

(1)增

(2)删

(3)改

(4)查

- 集合:
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作;clear()清空集合 s;remove()移除元素;集合不能进行修改和查找

(1)增

(2)删

(3)遍历

2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:
- 括号
- 有序无序
- 可变不可变
- 重复不可重复
- 存储与查找方式
- 列表
list:是一种有序的序列,可以随时添加和删除,没有长度限制等;
- 元组
tuple:和list非常相似;
- 字典
dict:使用键-值key-value储存,有极快的查找速度,其中的key必须是不可变对象,和list相比dict查找和插入的速度极快,不会因key的增加而变慢但是要占用大量的内存造成浪费,是一种用空间换取时间的方法;
- 集合
set:是一组key的集合,不储存value,没有重复的key,创建一个set需要提供一个list作为输入集合,不一定是有序的。
| 列表 | 元组 | 字典 |
集合 |
|
| 名称 | list | tuple | dict |
set |
| 括号 | [] | () | {} | {}或set() |
| 有序无序 | 有序 | 有序 | 无序 | 无序,自动正序 |
| 可变不可变 | 可变 | 不可变 | 可变 | 不可变 |
| 重复不重复 | 是 | 是 | 否 | 是 |
| 存储方式 | 值 | 值 | 键(不可重复) |
键值对(键不能重复) |
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.可视化:词云
# -*- coding=utf-8 -*-
exclude={'a','the','and','i','you','in','but','not','with','by','its','for','of','an','to','is','was','that','he','this','are','it','be','as','at','on','if','has','have','so','or'} #定义数组#
#读取Harry Potter.txt文件中的英文内容#
def gettxt():
sep=".,:;?!-_'"
txt=open(r'F:ig.txt','r',encoding='UTF-8').read().lower()
for ch in sep :
txt=txt.replace(ch,' ')
return txt
#分解提取单词#
bigList=gettxt().split()
print(bigList);
print('big:',bigList.count('big'))
bigSet=set(bigList)
#过滤单词,包括一些冠词和连词等#
bigSet=bigSet-exclude
print(bigSet)
#单词计数#
bigDict={}
for word in bigSet:
bigDict[word]=bigList.count(word)
print(bigDict)
print(bigDict.items())
word=list(bigDict.items())
#按词频排序#
word.sort(key=lambda x:x[1],reverse=True)
print(word)
#输出频率较高的词语top20#
for i in range(20):
print(word[i])
排序好的单词列表word保存成csv文件
import pandas as pd
pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8')
线上工具生成词云:
https://wordart.com/create
