一、容器类型回顾

类型是否可变是否有序是否允许重复常用场景
list 列表 可变 有序 允许存放有序数据、动态修改
tuple 元组 不可变 有序 允许存放固定数据集
dict 字典 可变 有序(3.7+) key 唯一键值映射、快速查找
set 集合 可变 无序 不允许去重、集合运算

二、通用操作

Python 中许多操作可以通用于多种容器类型:

1. 成员判断

nums = [1, 2, 3]
print(2 in nums)       # True
print(5 not in nums)   # True

无论是列表、元组、字典还是集合,都可以使用 innot in 判断是否包含某个元素。 对于字典,判断的对象是键(key)。


2. 长度计算

data = {'a': 1, 'b': 2}
print(len(data))  # 2

len() 可用于计算容器内元素数量。


3. 遍历容器

  • 遍历列表或元组:

    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 containerlist / tuple / dict / set
长度计算len(container)所有
遍历for item in container所有
增删改查append, remove, dellist / dict / set
排序sort, sortedlist / 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 的函数、模块与面向对象编程,让你的编程技能更上一层楼。

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]