一. 元组(tuple)
创建元组对象
基本特性:
序列类型,类似一维数组,元素不可变,元素可存储不同类型数据。
创建方式:
- 逗号分隔:
A = x1, x2, x3, …, xn - 圆括号 + 逗号:
A = (x1, x2, x3, …, xn) - 嵌套元组:元素为元组,如
A = (tuple1, tuple2, …)
类型转换:
可以使用 tuple() 函数将其他序列或迭代器类型将对象转换为元组对象。
元素访问:
通过成对出现的方括号 [] 访问元组元素,元组第一个元素的索引是0。
元素不可变特性:
元组元素本身不可直接赋值修改,但如果元素是列表,可通过列表的方法(如 append())间接修改列表内容,从而“改变”元组(实际是修改列表元素,元组指向的列表对象被修改)。
常用运算:
- 拼接:用
+运算符拼接多个元组,如C = A + B - 重复:用
*运算符将元组与整数相乘,如B = n * A(将元组A重复n次拼接) - 统计:用
count()方法统计指定值在元组中出现的次数。
二. 列表(list)
创建列表对象
创建方式:
- 方括号 + 逗号:
A = [x1, x2, x3, …, xn]
类型转换:
使用 list() 函数将其他序列或迭代器对象转换为列表对象。
元素操作:
- 访问:通过方括号
[]访问,索引从 0 开始 - 赋值修改:可直接用等号
=对列表元素重新赋值(元组无此特性) - 追加:
append()方法将元素添加到列表末尾 - 插入:
insert(index, value)方法在指定索引位置插入元素 - 删除:
pop(index)移除指定索引的元素 remove(value)删除列表中第一个等于指定值的元素
常用操作:
- 成员判断:用
in或not in关键字判断列表是否包含某个值 - 拼接:用
+运算符拼接多个列表,如C = A + B - 排序:
sort()方法对列表元素排序,可通过reverse参数(布尔值)设置逆序,或通过key参数指定排序标准(如key=len按字符串长度排序)
序列的切片操作:
- 语法格式:
A[s:t:v],其中s是起始索引,t是结束索引(不包含),v是步长(默认1) - 省略规则:省略
s则从序列开头开始;省略t则到序列末尾结束;步长v为正需满足s < t,为负需满足s > t - 赋值操作:可通过切片为序列元素重新赋值,如
aList[3:5] = ("Lucy","Lily")
三. 字典(dict)
创建字典对象
创建方式:
- 空字典:
dict()或{} - 非空字典:大括号内用冒号
:分隔键值对、逗号,分隔不同键值对,如{"姓名":"王小二","年龄":"18"}
序列构造:
使用 zip() 函数和dict()函数,使用这两个序列创建一个字典,即字典对象的键值对是这两个序列的元素。
键的特性:
键必须是不可变数据类型(如整数、元组),可用 hash() 函数判断对象是否可以作为字典的键,如果该对象不可以作为字典的键,则会出现错误提示。
操作键值对:
- 访问值:通过调用键来访问对应的值
- 合并字典:
A.update(B)将字典B合并到A中 - 添加键值对:直接为新键赋值
常用函数:
- 删除键值对:
del 字典[键]或pop(键)(pop返回对应值) - 成员判断:
in关键字判断字典是否包含某键 - 键/值列表:
keys()或values()方法输出由键或值组成的列表 注意:del关键字删除键值时,需指明需要删除元素的键
四. 集合(set)
创建集合对象
创建方式:
- 大括号:
{1,2,3}(注意:{}是空字典,非空集合需含元素) set()函数:参数为列表、元组等序列类型,如bSet = set([43,'城市', 43,'邮编'])(自动去重)
核心特性:
元素无序且唯一(自动去重)
集合运算:
| 运算符 | 使用方法 | 函数表示 | 说明 |
|---|---|---|---|
1 | A1B | A.union(B) | 并集(A 和 B 所有元素) |
& | A&B | A.intersection(B) | 交集(A 和 B 共有的元素) |
- | A-B | A.difference(B) | 差集(A 中去掉 A&B 的元素) |
^ | A^B | A.symmetric_difference(B) | 对称差集(A和B的并集中去掉A和B的交集元素) |
关系判断与修改:
- 使用函数
issubset()判断一个集合是否是另外一个集合的子集 - 使用函数
issuperset()判断一个集合是否是另外一个集合的超集 - 使用连续两个等号“==”判断两个集合是否相等
修改集合:
- 使用
add()方法为集合添加元素 - 使用
remove()删除集合的元素