作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753
1.列表,元组,字典,集合分别如何增删改查及遍历。
列表的增删改及遍历
#定义列表 list1=list('gzcc') #列表的增加 list1.append('!') list1.extend('yes') #列表的删除 list1.pop(4) #列表的修改 list1[0] = '1' #将第0个元素修改为’1‘ #列表的查找 list1.index('1') #列表的遍历 b=len(list1) for i in range(b): print(i+1,list1[i])#前面为序列号,后面为值
元组 ,操作和列表类似,但是元组不能修改
#创建 tuple1 = () tuple1 = 1, tuple1 = 1,2,3 tuple1 = tuple([1,2,3,4]) tuple1
字典的增删改及遍历
字典 #创建 dict1 = { 'key':'value', 'key1':'value1' } a = [('key1','value1'),('key2','value2')] dict1 = dict(a) dict1 = {}.fromkeys(['key1','key2'],'default_value') #从键值创建dict dict1 = dict(key1='value1',key2='value2') #增加 dict1['key3']='value3' #字典可以自动添加 dict1.setdefault('key5','N/A') #如果不存在,就设置默认值 #删除 del dict1['key3'] print dict1.pop('key2') #popitem随机删除 和列表的pop一样 #dict1.clear() #深删除,即使有拷贝 也会被删除 #修改 if 'key1' in dict1: dict1['key1']='new_value_1' #查找 if 'key1' in dict1: print dict1['key1'] if dict1.has_key('key1'): print dict1['key1'] print dict1.get('key3','not exists') #宽松访问 print dict1.keys(),dict1.values() #拼接 dict2 = dict(key4 = 'value4') #从字典更新另一个字典 dict1.update(dict2)
集合增删改查及遍历
A={'a','b','c','d','f','f'} B=set(A)#B为集合且B经过了去重 set(B).add('e')##添加元素 set(B).update('h')#添加元素 setA.pop() #删除操作,无返回值 print([v for v in setA]) #遍历 print(sorted(setA)) #set的排序
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
fn=open("xiaoshuo.txt","r+") print("成功读取文件") str=fn.read() #去标点符号 s=',.?:;' for c in s: text = str.replace(c,'') #转化为小写 text=text.lower() #分割并显示 atext=text.split() # print(atext) atext=list(atext) # list1=[] # list1=atext #统计词频 print("计算单词出现的次数并按词频排序:") # # strSet=set(text) # for word in atext: # print(word,text.count(word)) fn1=open("stop.txt","r") tyc=fn1.read() tyc=list(tyc) #用字典表示词频 res = {} for i in atext: if i in res: res[i] = res[i] + 1 else: res[i] = 1 # print(res) #按照字典的value进行排序 res1 = sorted(res.items(), key=lambda d:d[1],reverse = True) print(res1)
作业博客要求:
- 文字作业要求言简意骇,用自己的话说明清楚。
- 编码作业要求放上代码,加好注释,并附上运行结果截图。