学习过程主要依照中国MOOC课程,感谢MOOC,感谢北理授课大佬。
集合类型及操作
集合类型定义
-与数学中的集合概念一致,是多个元素的无序组合,每个元素唯一,不存在相同元素。
-集合用大括号{}表示,元素间用逗号分隔。
1 | >>> A = {"python", 123, ("python", 123)} |
-建立集合类型用{}或set();建立空集合类型必须使用 set()。
集合操作符
S|T:包含集合S和T中的所有元素;
S-T:包含在集合S但不在T中的元素;
S&T:包含同时在集合S和T中的元素;
S^T:包含集合S和T中的非相同元素;
S <= T/S < T:返回True/False,判断S和T的子集关系;
S >= T/S > T:返回True/False,判断S和T的包含关系;
集合处理方法
S.add(x):如果x不在集合S中,将x增加到S
S.discard(x):移除S中元素x,如果x不在集合S中,不报错
S.remove(x):同上,如不在,产生keyerror异常
S.clear():移除S中所有元素
S.pop():随机返回S的一个元素,更新S
len(S):返回集合S的元素个数
集合类型应用场景
数据去重
1 | >>>ls = ["p", "p", "y", "y", "",123] |
序列类型及操作
序列类型定义
序列是具有先后关系的一组一维元素向量,元素类型可以不同。
序列:字符串类型、元组类型、列表类型
序列处理函数及方法
s+t:连接两个序列s和t;
s*n:将序列s复制n次;
元组类型及操作
元组是序列类型的一种扩展,一旦创建就不能被修改。使用小括号()或tuple()创建,元素间用逗号分隔。
列表类型及操作
元组是序列类型的一种扩展,创建后可以被随意修改。使用方括号[]或list()创建,元素间用逗号分隔。注意使用=赋值并不是真正的创建,只是将同一个列表贴了另一个标签。
ls[i]=x:替换列表ls的第i个元素为x;
ls[i: j :k]=lt:用列表lt替换ls切片后所对应的元素子列表;
del ls[i]:删除列表ls中第i个元素;
ls+=lt:更新列表ls,将列表lt元素增加到列表ls中;
ls.insert(i,x):在列表ls的第i个位置增加元素x;
ls.pop(i):在列表ls中第i个位置元素取出并删除;
ls.remove(x):将列表ls中出现的第一个元素x删除;
ls.reverse():将列表ls中的元素反转;
序列类型应用场景
数据表示:表示一组有序数据,进而操作它们;
数据保护,不希望数据被程序修改,转换为元组类型;
实例:基本统计值计算
1 | #CalStatisticsV1.py |
字典类型及操作
字典类型定义
字典中的映射是一种键(用户自定义索引)和值(数据)的对应。字典是键值对的集合,键值对之间无序,采用大括号{}或者dict()创建,键值对用冒号:表示。
字典处理函数及方法
del d[k]:删除字典d中键k对应的数据值;
d.keys():返回字典d中所有的键信息;
d.values():返回字典d中所有的值信息;
d.items():返回字典d中所有的键值对信息;
d.get(k,
d.pop(k,
jieba库的使用
-jieba是优秀的中文分词第三方库。
-利用一个中文词库,确定汉字之间的关联概率,概率大的组成词组,形成分词结果。
jieba分词三种模式
精确模式
把文本精确的切分开,不存在冗余单词。
jieba.lcut(s):精确模式,返回一个列表类型的分词结果。
全模式
把文本中所有可能的词语都扫描出来,有冗余。
搜索引擎模式
在精确模式基础上,对长词在此切分。
实例:文本字频统计
1 | #CalHamletV1.py |
1 | #CalThreeKingdomsV1.py |
1 | #CalThreeKingdomsV2.py |
以上。
注:转载文章请注明出处,谢谢~