1.列表,元组,字典,集合分别如何增删改查及遍历。
使用append()方法来添加列表项(仅支持增加一个元素),extend()增加一个列表,insert()根据索引添加元素
del 根据索引删除元素,或者使用remove()删除指定值的元素,pop()根据索引删除元素
对列表数组某元素进行赋值,以进行更新
搜索可以通过搜索元素或者搜索元素索引值
列表有三种遍历方法,一种是带Index索引的循环,一种是用range()方法进行的,还有一种是使用enumerate() 方法的。
元组的增加和修改不能直接通过赋值,但可以对元组进行连接组合,
例:
tup3 = tup1 + tup2
元组可以使用下标索引来访问元组中的值
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
字典的访问需要在输出时把相应的键放入到方形弧内
向字典添加新内容的方法是增加新的键,由于字典是另一种可变容器模型,且可存储任意类型对象,所以可以直接在方形弧内添加新的名称
而字典内的修改是对已有键进行修改
删除使用del()可以删除整个词典的条目,也可以用dict来删除某一条目。
集合的增加是通过使用add()方法添加元素,使用remove()进行删除元素,
2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:
列表:
括号:有括号:[]
有序无序:有序
可变不可变:可变
重复不可重复:可重复
存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储
元组:
括号:有括号:()
有序无序:有序
可变不可变:不可变
重复不可重复:可重复
存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储
字典:
括号:有括号:{}
有序无序:无序
可变不可变:可变,根据key改变键值
重复不可重复:key不可重复,键值可重复
存储与查找方式:根据key存储和查找所对应的键值
集合:
括号:有括号:()
有序无序:无序
可变不可变:可变
重复不可重复:不可重复
存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储
3.词频统计
1.下载一长篇小说,存成utf-8编码的文本文件 file
2.通过文件读取字符串 str
txt = open("E:\\abc.txt", encoding="utf-8").read()
words = jieba.lcut(txt)
3.对文本进行预处理
4.分解提取单词 list
5.单词计数字典 set , dict
import jieba
import pandas as pd
txt = open("E:\\abc.txt", encoding="utf-8").read()
words = jieba.lcut(txt)
counts = {}
stopwords = [line.strip() for line in open("CS.txt",encoding="utf-8").readlines()]
for word in words:
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(20):
word, count = items[i]
print ("{0:<10}{1:>5}".format(word, count))
6.按词频排序 list.sort(key=lambda),turple
7.排除语法型词汇,代词、冠词、连词等无语义词
自定义停用词表
或用stops.txt
8.输出TOP(20)
stopwords = [line.strip() for line in open("stops.txt",encoding="utf-8").readlines()]
counts = {}
for word in words:
#不在停用词表中
if word not in stopwords:
#不统计字数为一的词
if len(word) == 1:
continue
else:
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(20):
word, count = items[i]
print ("{:<10}{:>7}".format(word, count))
9.可视化:词云
排序好的单词列表word保存成csv文件
import pandas as pd
pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8')
线上工具生成词云:
https://wordart.com/create