四:组合数据类型
(一)集合类型及操作
1.集合类型定义:
-
集合类型与数学中的集合概念一致;
集合元素之间无序,每个元素唯一,不存在相同元素;
集合元素不可更改,不能是可变数据类; -
新建集合
集合用大括号 {} 表示,元素间用逗号分隔;
建立集合类型用 {} 或 set();
建立空集合类型,必须使用set();
举例:A = {"Climb",5201314,("python",123)} B = set("Climb,520,Climb") C = {"Climb",520,"Climb",520} print(A) print(B) print(C)
输出
{5201314, ‘Climb’, (‘python’, 123)}
{‘l’, ‘C’, ‘i’, ‘2’, ‘0’, ‘m’, ‘5’, ‘b’, ‘,’}
{520, ‘Climb’}
2.集合类型操作符:
操作符及应用 | 说明 |
---|---|
A | B(并) | 返回一个新集合,包括在集合A和B中的所有元素 |
A - B(差) | 返回一个新集合,包括在集合A但不在B中的元素 |
A & B(交) | 返回一个新集合,包括同时在集合A和B中的元素 |
A ^ B(补) | 返回一个新集合,包括集合A和B中的非相同元素 |
A <= B 或 A < B | 返回True/False,判断A和B的子集关系 |
A >= B 或 A > B | 返回True/False,判断A和B的包含关系 |
4个增强操作符
操作符及应用 | 说明 |
---|---|
A |= B | 更新集合A,包括在集合A和B中的所有元素 |
S -= B | 更新集合A,包括在集合A但不在B中的元素 |
S &= T | 更新集合A,包括同时在集合A和B中的元素 |
S ^= B | 更新集合A,包括集合A和B中的非相同元素 |
- 集合类型应运场景: 包含关系比较;数据去重。
(二)序列类型及操作
1.序列类型定义:
- 序列是一维元素向量,元素类型可以不同;
类似数学元素序列: s0, s1, … , sn-1;
元素间由序号引导,通过下标访问序列的特定元素 - 序列类型包括:字符串类型,元组类型,列表类型
- 序列类型采用相同的索引体系:正向递增序号和反向递增序号
2.序列类型的通用操作符和函数
- 元组类型及操作:
(1)元组是一种序列类型,一旦创建就不能被修改;
(2)使用小括号 () 或 tuple() 创建,元素间用逗号 , 分隔;
(3)可以使用或不使用小括号;
(4)元组继承了序列类型的全部通用操作。 - 列表类型及操作:
(1)列表是一种序列类型,创建后可以随意被修改;
(2)使用方括号 [] 或list() 创建,元素间用逗号 , 分隔;
(3)列表中各元素类型可以不同,无长度限制.
(4)列表类型特有操作函数及方法:
3.序列类型应用场景:
元组用于元素不改变的应用场景,更多用于固定搭配场景;
列表更加灵活,它是最常用的序列类型;
最主要作用:表示一组有序数据,进而操作它们。
元素遍历:for item in ls; 和 for item in tp;
数据保护:如果不希望数据被程序所改变,转换成元组类型
(三)字典类型及操作
1.字典类型定义:
映射是一种键(索引)和值(数据)的对应;
内部颜色:蓝色
外部颜色:红色
字典类型是“映射”的体现
- 键值对:键是数据索引的扩展
字典是键值对的集合,键值对之间无序
采用大括号{}和dict()创建,键值对用冒号: 表示{<键1>:<值1>, <键2>:<值2>,··· , <键n>:<值n>}
2.字典类型用法:
-
<字典变量> = {<键1>:<值1>, … , <键n>:<值n>}
<值> = <字典变量>[<键>]
<字典变量>[<键>] = <值>
[ ] 用来向字典变量中索引或增加元素 -
举例:
d = {"中国":"北京", "美国":"华盛顿", "法国":"巴黎"} print(d) d["中国"]
输出:
{‘中国’: ‘北京’, ‘美国’: ‘华盛顿’, ‘法国’: ‘巴黎’}
‘北京’