目录
1、组合数据类型的基本概念:
- Python语言中最常用的组合数据类型有3大类:集合类型、序列类型 和 映射类型。
- 集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。
- 序列类型是一个元素向量,元素之间存在先后顺序,通过序号访问。
- 映射类型是“键—值”数据项的组合,每个元素是一个键值对,表示为(key,value)。
- 集合类型是一个具体的数据类型名称,而序列结构和映射结构是一类数据类型的总称。
2、集合类型:
2.1、集合类型概述:
- Python语言中的集合类型与数学中的集合概念一致,即包含0个或多个数据项的无序结构。
- 集合中的元素不能重复,元素类型是不可变数据类型,例如整数、浮点数、字符串、元组等。列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现。
- 由于集合元素独一无二,使用集合类型能够过滤掉重复元素。
- 由于集合元素是无序的,集合的输出顺序与定义顺序可以不一致。
- 集合中的元素之间不能比较,不能排序。
2.2、集合的创建:
- 集合是无序组合,用大括号({})表示,它没有索引和位置的概念,集合中的元素可以动态增加或删除。
- 创建一个集合直接用{},例:
T = {"1010",12.3,1010}
print(t)
>>>{1010,12.3,"1010"}
- set(x)函数表示将其他的组合数据类型转变成集合类型,返回结果是一个无重复而且排序任意的集合。
s = set("你是个小可爱!")
print(s)
>>>{'爱', '小', '是', '个', '可', '你', '!'}
- set()表示生成一个空集合。
s = set()
print(s)
>>>set()
2.3、集合的操作符:
- 集合类型有4个操作符。如下:
操作符及运算 | 描述 |
---|---|
S -T(差集) | 返回一个新集合,包含在集合S中但不在集合T中的元素 |
S & T(交集) | 返回一个新集合,包含同时在集合S和集合T中的公共元素 |
S ^ T(补集) | 返回一个新集合,包含除同时在集合S和集合T中公共元素的其他元素 |
S | T(并集) | 返回一个新元素,包含在集合S和集合T中的所有元素 |
- 例:
s = {1010,"1010",78.9}
t = {1010,"1010",12.3,1010,1010}
print(s - t)
>>>{78.9}
print(s & t)
>>>{1010,"1010"}
print(s ^ t)
>>>{78.9,12.3}
print(s | t)
>>>{1010,"1010",12.3,78.9}
2.4、集合的操作函数或方法:
- 集合类型有一些常用的操作函数,如下:
函数或方法 | 描述 |
s.add(x) | 如果数据项目x不在集合s中,将x添加到集合s |
s.remove(x) | 如果x在集合s中,则移除该元素;不在不产生错误影响 |
s.clear() | 移除s中所有数据项 |
len(s) | 返回集合s中的元素个数 |
x in s | 如果x是集合s中的元素,返回True;否则返回False |
x not in s | 如果x不是集合s中的元素,返回True;否则返回False |
3、序列类型:
3.1、序列类型概述:
- 序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。
- 当序号访问序列中的某个特定值时,只需要通过下标标出。序列类型均使用相同的索引体系,即正向递增序列和反向递减序列。
- 由于元素之间存在顺序关系,所以序列中可以存在数值相同但位置不同的元素。
- Python语言中有很多数据类型都是序列结构,其中比较重要的是 字符串类型、列表类型和元组类型。
3.2、序列类型的操作符和函数:
操作符 | 描述 |
x in s | 如果x是s中的元素,返回True;否则返回False |
x not in s | 如果x不是s中的元素,返回True;否则返回False |
s + t | 连接s和t |
s*n 或 n*s | 将s复制n次 |
s[i] | 索引,返回序列的第i个元素 |
s[i:j] | 切片,返回包括序列s中i号元素到j-1号元素的子序列 |
s[i:j:k] | 步骤切片,返回包括序列s中i号元素到j-1号元素以k为步数的子序列 |
len(s) | 序列s的元素个数(长度) |
min(s) | 序列s中的最小元素 |
max(s) | 序列s中的最大元素 |
s.index(x) | 序列s中第一次出现x的位置 |
s.count(z) | 序列s中出现x的总次数 |
3.3、元组类型:
元组类型是序列结构的重要成员。
3.3.1、元组的创建:
- 元组类型在Python中表示为tuple,以小括号和逗号进行组织。
t = (1,2,3)
print(t)
>>>(1,2,3)
msg = "你好啊!"
t = tuple(msg)
print(t)
>>>('你','好','啊','!')
3.3.2、元组的性质:
- 元组类型一旦被定义就不能修改。
- 元组类型的所有操作都可以由列表类型实现,因此通常以列表类型代替元组类型使用。
- 元组类型主要在Python语法相关的场景使用,例如函数的多个返回值以元组的形式返回。
3.4、列表类型:
4、映射结构: