作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753
1.列表,元组,字典,集合分别如何增删改查及遍历。
- 列表
1 #创建一个列表 2 list1 = ['a','b','c'] 3 4 # 访问列表中的值 5 print("list1[0]:",list1[0]) 6 print("list1[1:5]:",list1[1:2]) 7 8 # 更新某元素的值 9 print('更新列表前',list1) 10 list1[1] = 'c' 11 print('更新列表后',list1) 12 13 # 删除元素 14 print('删除列表元素前',list1) 15 del list1[1] 16 print('删除列表元素后',list1) 17 18 # 增加元素 19 print('增加列表元素前',list1) 20 list1.append('d') 21 print('增加列表元素后',list1)
运行结果:
- 元祖
# 创建一个元祖 tup1 = (1,2,3,4,5) # 访问元祖中的值 print("tup1[0]:",tup1[0]) print("tup1[1:4]:",tup1[1:4]) #元祖的拼接 tup2 = ('abc', 'xyz') tup3 = tup1 + tup2; print ('tup3',tup3) #元祖无法修改删除元素
运行效果图:
- 字典
#创建字典 dict1 = {'a':1,'b':2,'c':3} #访问字典里的值 print("dict['a'] ",dict1['a']) # 修改字典元素 print("修改字典元素前",dict1) dict1['a'] = 4 print("修改字典元素后",dict1) # 删除字典元素 print("删除字典元素前",dict1) del dict1['a'] print("删除字典元素后",dict1) # 删除字典元素 print("增加字典元素前",dict1) dict1['d'] = 5 print("增加字典元素后",dict1)
运行效果图:
- 集合
# 创建集合 parame = {'a','b','c'} # 添加元素 print("添加集合元素前",parame) parame.add('d') print("添加集合元素后",parame) # 删除元素 print("删除集合元素前",parame) parame.remove('d') print("删除集合元素后",parame)
运行效果图:
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')
线上工具生成词云:
https://wordart.com/create
# 停用词 xclude = {'a','the','and','i','you','in','but','not','it','s','if','do'} import pandas as pd # 获取文本文件并进行替换标点符号处理函数 def gettxt(): sep = ".,:;?!-_'" txt = open(r'novel.txt','r',encoding='utf-8').read().lower() for ch in sep: txt = txt.replace(ch,'') return txt # 对文本进行切割筛选 wordList = gettxt().split() wordset = set(wordList)-exclude #统计分词 worddict = {} for w in wordset: worddict[w] = wordList.count(w) # 排序 wordsort = list(worddict.items()) wordsort.sort(key= lambda x:x[1],reverse=True ) # 输出到文件 pd.DataFrame(data = wordsort).to_csv(r'sort.csv',encoding='utf-8')
统计的词频:
生成的词云图: