我的时装店无限金币版
95.66MB · 2025-10-30
| 类型 | 是否可变 | 是否有序 | 是否允许重复 | 常用场景 |
|---|---|---|---|---|
| list 列表 | 可变 | 有序 | 允许 | 存放有序数据、动态修改 |
| tuple 元组 | 不可变 | 有序 | 允许 | 存放固定数据集 |
| dict 字典 | 可变 | 有序(3.7+) | key 唯一 | 键值映射、快速查找 |
| set 集合 | 可变 | 无序 | 不允许 | 去重、集合运算 |
Python 中许多操作可以通用于多种容器类型:
nums = [1, 2, 3]
print(2 in nums) # True
print(5 not in nums) # True
无论是列表、元组、字典还是集合,都可以使用 in 和 not in 判断是否包含某个元素。
对于字典,判断的对象是键(key)。
data = {'a': 1, 'b': 2}
print(len(data)) # 2
len() 可用于计算容器内元素数量。
遍历列表或元组:
for x in [1, 2, 3]:
print(x)
遍历字典:
for k, v in {'a': 1, 'b': 2}.items():
print(k, v)
遍历集合:
for item in {'apple', 'banana'}:
print(item)
nums = [3, 1, 2]
nums.append(4) # 追加
nums.insert(1, 5) # 插入
nums.remove(3) # 删除
nums.sort() # 排序
nums.reverse() # 反转
print(nums)
应用场景: 数据动态维护、按条件筛选、排序结果输出。
info = {'name': 'Tom', 'age': 20}
info['city'] = 'Beijing' # 新增键值
info['age'] = 21 # 修改
del info['name'] # 删除键
print(info.get('city')) # 安全取值
应用场景: 存储结构化数据、配置表、计数统计等。
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 的容器可以相互嵌套,灵活性极强:
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 |
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)
输出:
{'python': 2, 'is': 2, 'easy': 1, 'and': 1, 'powerful': 1}
这段代码用字典完成了简单的词频统计,是容器综合应用的典型示例。
结语: 掌握容器的常用操作,是从“会写代码”到“写出优雅代码”的关键一步。 在后续章节中,我们将继续深入 Python 的函数、模块与面向对象编程,让你的编程技能更上一层楼。