一、前言
前面我们只能用单个变量存储一组数据,实际开发中经常需要批量存放多条信息,Python 提供四种核心容器类型:列表 list、元组 tuple、字典 dict、集合 set。
本文完整讲解四种容器的定义、增删改查、常用方法与适用场景,是 Python 数据处理核心内容。
二、列表 list(可变有序数组,最常用)
列表使用[]包裹,支持存放任意类型数据,有序、可修改、允许重复元素。
1. 定义与取值
python
运行
# 创建列表
stu_list = ["张三", 18, "男生", 95.5]
# 通过下标取值,下标从0开始
print(stu_list[0]) # 输出张三
# 倒序取值 -1代表最后一位
print(stu_list[-1]) # 输出95.5
# 切片 [起始:结束:步长]
print(stu_list[0:2]) # 取前两个元素
2. 增删改操作
python
运行
nums = [10,20,30]
# 追加元素到末尾
nums.append(40)
# 指定位置插入
nums.insert(1, 15)
# 修改指定下标元素
nums[0] = 5
# 删除指定值
nums.remove(30)
# 删除末尾元素并返回
nums.pop()
# 清空列表
nums.clear()
3. 常用内置方法
python
运行
arr = [2,5,3,5,1]
print(arr.count(5)) # 统计5出现次数
arr.sort() # 从小到大排序
arr.reverse() # 反转列表
print(len(arr)) # 获取列表长度
三、元组 tuple(不可变有序容器)
元组用()包裹,创建后不能修改、删除、新增元素,数据固定时使用,安全高效。
1. 基础使用
python
运行
# 定义元组
t = ("小明", 20, "学生")
# 取值方式和列表一致
print(t[1])
# 单元素元组必须加逗号
single = (99,)
2. 特性说明
无法执行 append、remove、修改下标赋值等操作
仅支持 count ()、index ()、len () 基础查询方法
适合存放不会改动的数据:配置、坐标、固定分类
四、字典 dict(键值对存储,查询最快)
字典{key:value},以唯一键 (key) 对应值 (value),无序、键不可重复,适合存储结构化信息(如用户信息)。
1. 创建与取值
python
运行
# 用户信息字典
user = {
"name": "小李",
"age": 22,
"gender": "男"
}
# 两种取值方式
print(user["name"])
print(user.get("age")) # 不存在返回None,不会报错
2. 增删改查
python
运行
info = {"a":1, "b":2}
# 新增/修改键值
info["c"] = 3
# 删除指定键
del info["a"]
# 获取所有键、所有值、所有键值对
print(info.keys())
print(info.values())
print(info.items())
# 清空字典
info.clear()
五、集合 set(去重、交集差集运算)
集合{},无序、元素唯一,自动去重,主要用于数据去重、集合对比。
1. 基础去重
python
运行
# 列表转集合自动删除重复数据
data = [1,2,2,3,3,3]
s = set(data)
print(s) # {1,2,3}
# 创建空集合必须用set(),{}是空字典
empty_set = set()
2. 集合运算
python
运行
a = {1,2,3,4}
b = {3,4,5,6}
print(a & b) # 交集 {3,4} 两者共有
print(a | b) # 并集 {1,2,3,4,5,6} 全部合并去重
print(a - b) # 差集 {1,2} a独有的元素
六、四种容器对比总结
表格
七、综合实战:学生信息管理小案例
python
运行
# 字典嵌套列表存储多名学生
student_list = [
{"name":"张三","score":88},
{"name":"李四","score":92},
{"name":"王五","score":76}
]
# 循环遍历所有学生
for stu in student_list:
print(f"姓名:{stu['name']},分数:{stu['score']}")
# 提取所有分数做去重
score_set = set()
for s in student_list:
score_set.add(s["score"])
print("去重后的分数:", score_set)
八、新手常见报错
元组尝试赋值修改:
TypeError: 'tuple' object does not support item assignment字典用不存在的 key 直接取值:KeyError,改用
.get()规避创建空集合写
{}:生成空字典,正确写法set()列表下标超出范围:IndexError,访问下标不能超过列表长度 - 1
集合放入列表 / 字典等可变类型:报错,集合元素必须不可变
九、下期预告
下一篇:Python 函数定义、参数、返回值与局部全局变量,学会封装可复用代码。