作业要求:
1.列表,元组,字典,集合分别如何增删改查及遍历?
1)列表
- 增:
- append() :在列表末尾增加一个元素
-
- insert() : 在指定的列表位置添加一个元素
-
- extand() : 在列表末尾一次性追加另一个序列中的多个值
- 删:
- pop() : 移除列表中的最后一个元素,并且返回该元素的值
-
- remove() : 用于移除列表中某个值的第一个匹配项
-
- del() : 根据元素下标删除列表的元素
- 改:
- 根据列表下标对元素进行重新赋值即可
- 查:
a = ['sss','bbb','dd','sdf'] print(a[2]) ##根据下标直接查找列表元素 print(a[1:3])##通过切片方式进行取值 print(a[:])##获取列表所有元素 print(a[-1])##取列表最后一个值 print(a[2:])##取下标后面所有的值 print(a[:3])##取下标前面所有的值 print(a[:1:2])##隔位取值
运行结果截图:
- 遍历
2)元组
- 增:元组不支持修改,只能通过连接组合方式进行元组的增加
- 删:元组的删除不能删除某个元素,只能整个元组一起删除,删除后输出报错,因为该元组已删除,输出则定义为未定义
- 改:元组中的元素值是不允许修改的,和增加元组一样,对元组进行修改只能通过连接结合
- 查:因为元组也是一个序列,因此我们可以查找元组中指定位置的元素,也可以截取索引中的一段元素
a = ('sss','bbb','dd','sdf') print(a[2]) ##根据下标直接查找列表元素 print(a[1:3])##通过切片方式进行取值 print(a[:])##获取列表所有元素 print(a[-1])##取列表最后一个值 print(a[2:])##取下标后面所有的值 print(a[:3])##取下标前面所有的值 print(a[:1:2])##隔位取值
运行截图如下:
- 遍历
3)字典
- 增:以同时添加键值的方式进行字典元素的添加
- 删
- del dict['a']:删除键是‘a’的条目
-
- clear() : 清空词典所有条目
- del dict : 删除词典
- 改
- 查:根据相应的键对其值进行查找
- 遍历:
字典提供items方法可以获取字典所有的项集合;
字典提供vlaues方法可以对字典中的值进行遍历;
字典提供keys方法对字典中的键进行遍历
4)集合
- 增:使用add()方法进行集合中元素的添加
- 删:
使用remove()或者pop()方法可以对集合中的某个元素进行删除;
clean()方法用于清空集合中的元素;
del方法可以将整个集合进行删除。
- 改:根据集合中的元素下标进行修改该元素的值
- 查:根据集合中的元素下标进行查找元素的值
- 遍历:
可以使用for循环对集合中的每个元素进行遍历;
可以使用迭代器迭代集合中的元素进行遍历。
2.总结列表,元组,字典,集合的联系与区别
1)列表
- 列表是使用 “ [ ] ”中括号对列表元素括起来,用逗号间隔每一个元素
- 列表时有序的,可以根据索引来访问列表中的值
- 列表是可变的,可以对列表中的值进行增删改查
- 列表中的值是可以重复的
- 列表的存储是根据索引进行存储的,查找时可以根据索引查找出值
2)元组
- 元组是使用 “ () “小括号将元组的值括起来,用逗号间隔每一个元素
- 元组是有序的
- 元组一经初始化后便不能修改
- 元组中的元素是可以重复的
- 元组的存储同样根据索引进行存储,查找时根据索引进行查找
3)字典
- 每个键值对用冒号 :进行 分割,每个键值对之间用逗号 进行分割,整个字典包括在花括号 ” { } “ 中
- 字典是有序的
- 字典中的值是可以改变的
- 键一般是唯一的,值不需要唯一
- 字典是另一种可变容器模型,且可存储任意类型对象
3.词频统计
详细代码:
#打开歌词文档 f = open(r'E:\red.txt', 'r') #定义列表,用于排除语法型词汇,代词、冠词、连词等无语义词 stop={'a','the','and','i','you','in','but','not','with','by','its','for','of','an','to','my','myself','we','our','ours','ourelves','about','no','nor'} #打开歌词文档,将歌词中的标点符号用空格代替 def gettext(): sep=",.? ?':' !--!_:" text=f.read().lower() for c in sep: textx=text.replace(c,' ') return textx #对文档中的句子进行分解成一个个单词并输出 aList=gettext().split() #把分解后的词语放在字典中 worddict=set(aList) #把停用词放在另外一个字典中 aStop=set(stop) #去掉停用词 worddict=worddict-aStop #定义字典,对单词数目进行统计 aDict={} for word in worddict: aDict[word]=aList.count(word) print(aDict.items()) word=list(aDict.items()) #对统计出来的结果进行排序 word.sort(key=lambda x:x[1],reverse=True) print(word) #输出使用次数最多的前20的单词 for i in range(20): print(word[i]) #对结果输出到red.csv中 import pandas as pd pd.DataFrame(data=word).to_csv("E:\red.csv",encoding='utf-8')
运行结果截图:
- 输出字典中所有的item
- 输出使用次数最多的前20的单词
- red.csv
- 可视化词云