在前几节中,我们分别学习了 Python 中的四种基础容器类型:列表(list) 、元组(tuple) 、字典(dict) 和 集合(set)。 这些容器是 Python 编程的核心,它们不仅可以存储数据,还能灵活地进行各种操作,比如增删改查、排序、去重、遍历等。 本节我们将系统地讲解容器的常见操作与应用场景,帮助你真正掌握它们的使用之道。
一、容器类型回顾
| 类型 | 是否可变 | 是否有序 | 是否允许重复 | 常用场景 |
|---|---|---|---|---|
| list 列表 | ✅ 可变 | ✅ 有序 | ✅ 允许 | 存放有序数据、动态修改 |
| tuple 元组 | ❌ 不可变 | ✅ 有序 | ✅ 允许 | 存放固定数据集 |
| dict 字典 | ✅ 可变 | ✅ 有序(3.7+) | ❌ key 唯一 | 键值映射、快速查找 |
| set 集合 | ✅ 可变 | ❌ 无序 | ❌ 不允许 | 去重、集合运算 |
二、通用操作
Python 中许多操作可以通用于多种容器类型:
1. 成员判断
python
nums = [1, 2, 3]
print(2 in nums) # True
print(5 not in nums) # True
无论是列表、元组、字典还是集合,都可以使用 in 和 not in 判断是否包含某个元素。 对于字典,判断的对象是键(key)。
2. 长度计算
python
data = {'a': 1, 'b': 2}
print(len(data)) # 2
len() 可用于计算容器内元素数量。
3. 遍历容器
-
遍历列表或元组:
pythonfor x in [1, 2, 3]: print(x) -
遍历字典:
pythonfor k, v in {'a': 1, 'b': 2}.items(): print(k, v) -
遍历集合:
pythonfor item in {'apple', 'banana'}: print(item)
三、列表常用操作总结
python
nums = [3, 1, 2]
nums.append(4) # 追加
nums.insert(1, 5) # 插入
nums.remove(3) # 删除
nums.sort() # 排序
nums.reverse() # 反转
print(nums)
应用场景: 数据动态维护、按条件筛选、排序结果输出。
四、字典常用操作总结
python
info = {'name': 'Tom', 'age': 20}
info['city'] = 'Beijing' # 新增键值
info['age'] = 21 # 修改
del info['name'] # 删除键
print(info.get('city')) # 安全取值
应用场景: 存储结构化数据、配置表、计数统计等。
五、集合常用操作总结
python
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # 并集 {1,2,3,4,5}
print(a & b) # 交集 {3}
print(a - b) # 差集 {1,2}
应用场景: 去重、集合逻辑运算、快速判断元素是否存在。
六、容器嵌套与综合应用
Python 的容器可以相互嵌套,灵活性极强:
python
students = [
{'name': 'Alice', 'scores': [90, 85, 92]},
{'name': 'Bob', 'scores': [70, 88, 95]}
]
for s in students:
avg = sum(s['scores']) / len(s['scores'])
print(s['name'], '平均分:', avg)
应用场景: 学生成绩系统、购物车、配置文件解析等。
七、总结
| 操作类别 | 示例 | 适用容器 | |
|---|---|---|---|
| 成员判断 | x in container |
list / tuple / dict / set | |
| 长度计算 | len(container) |
所有 | |
| 遍历 | for item in container |
所有 | |
| 增删改查 | append, remove, del | list / dict / set | |
| 排序 | sort, sorted | list / dict(配合 key) | |
| 集合运算 | ` | , &, -` |
set |
八、实战练习:统计单词出现频率
python
text = "python is easy and python is powerful"
words = text.split()
count = {}
for w in words:
count[w] = count.get(w, 0) + 1
print(count)
输出:
arduino
{'python': 2, 'is': 2, 'easy': 1, 'and': 1, 'powerful': 1}
这段代码用字典完成了简单的词频统计,是容器综合应用的典型示例。
结语: 掌握容器的常用操作,是从"会写代码"到"写出优雅代码"的关键一步。 在后续章节中,我们将继续深入 Python 的函数、模块与面向对象编程,让你的编程技能更上一层楼。