文章目录
一.集合类型及操作
1.1 集合类型的定义
- 集合类型与数学的集合概念一致
- 集合元素之间无序,每个元素唯一,不存在相同元素
- 集合元素不可更改,不能是可变数据类型(数据一旦放入便不可修改)
- 集合用{}表示,元素间用逗号分离
- 建立集合类型用{}或
set()
- 建立空集合类型,必须用
set()
1.2 集合操作符
(1)6个基本操作符
(2)4个增强操作符
1.3 集合处理方法
二.序列类型及操作
2.1 序列类型定义
- 序列是具有先后关系的一组元素
- 是一维元素向量,元素类型可以不同
- 元素间由序号引导,通过下标访问序列的特定元素
- 序列是一个基类类型
2.2 序列处理函数及方法
(1)6个操作符
(2)5个函数和方法
2.3 元组类型及操作
解释:元组是序列类型的一种扩展
- 元组是一种序列类型,一旦创建就不能修改
- 使用小括号()或者
tuple()
,元素间用逗号分隔 - 可以使用或不使用小括号
- 元组继承了序列类型的全部通用操作
2.4 列表类型及操作
(1)解释:列表是序列类型的一种扩展,十分常用
- 列表是一种序列类型,创建后可以随意被修改
- 使用方括号[]或list()创建,元素间用逗号分隔
- 列表各元素类型可以不同,无长度限制
(2)列表类型操作函数和方法
三.实例:基本统计值得计算
def getNum(): #获取用户不定长度的输入
nums = []
iNumStr = input("请输入数字(回车退出): ")
while iNumStr != "":
nums.append(eval(iNumStr))
iNumStr = input("请输入数字(回车退出): ")
return nums
def mean(numbers): #计算平均值
s = 0.0
for num in numbers:
s = s + num
return s / len(numbers)
def dev(numbers, mean): #计算方差
sdev = 0.0
for num in numbers:
sdev = sdev + (num - mean)**2
return pow(sdev / (len(numbers)-1), 0.5)
def median(numbers): #计算中位数
sorted(numbers)
size = len(numbers)
if size % 2 == 0:
med = (numbers[size//2-1] + numbers[size//2])/2
else:
med = numbers[size//2]
return med
n = getNum() #主体函数
m = mean(n)
print("平均值:{},方差:{:.2},中位数:{}.".format(m, dev(n,m),median(n)))
运行效果:
四.字典类型及操作
4.1 字典类型定义
(1)解释:字典类型是“映射”的体现
- 键值对:键是数据索引的扩展
- 字典是键值的集合,键值对之间无序
- 采用大括号{},和dict()创建,键值对用冒号:表示
举例:
{<键1>:<值1>,<键2>:<值2>,...,<键n>:<值n>}
(2)用法
在字典变量中,通过键获得值
<字典变量> = {<键1>:<值1>,...,<键N>:<值n>}
<值> = <字典变量>[<值>] <字典变量>[键] = <值>
举例:
4.2 字典处理函数及方法
举例:
举例:
五.模块5:jieba库的使用
5.1 jieba的基本介绍
(1)解释:jieba1是优秀的中文分词第三方库
- 中文文本需要通过分词获得单个的词语
- jieba需要额外安装
- jieba库提供三种分词模式,最简单只需要掌握一个函数
(2)安装
cmd下 pip install jieba
5.2 jieba分词的三种模式
(1)基本介绍
- 精确模式:吧文本精确分开,不存在冗余单词
- 全模式:吧文本中所有可能的词语都扫描出来,有冗余
- 搜索引擎模式:在精确模式基础上,对长词再次切分
(2)jieba库常用函数