Python 精通:元组、集合与字典

  • 分类:Python · 精通
  • 更新时间: 2026-10-03
  • 来源:py4_pro1.docx

元组:锁死的列表

元组 tuple 用圆括号,和列表很像,但创建之后不能增删改。适合存放一组不该被改动的固定数据,比如坐标、日期。

point = (3, 5)
print(point[0], point[1])
print(len(point))

元组只有 count() 和 index() 两个方法。只有一个元素的元组要写成 (5,),括号里的逗号不能省。

最有用的是解包:元组(或列表)的元素一口气赋给多个变量。函数要返回多个值,返回的其实就是一个元组。

x, y = (3, 5)
a, *rest = [1, 2, 3, 4]
print(x, y, a, rest)

集合:自动去重的大杀器

集合 set 用大括号,里面的元素不会重复、没有顺序。把列表转成集合是去重最快的办法。

nums = [1, 2, 2, 3, 3, 3]
unique = set(nums)
print(unique)
print(len(unique))

集合支持数学里的交、并、差运算,判断两个名单的重合非常方便。

a = {1, 2, 3, 4}
b = {3, 4, 5}
print(a | b)  # 并集
print(a & b)  # 交集
print(a - b)  # 差集

add() 加元素,remove() 删元素(不存在会报错),discard() 删元素(不存在不报错)。注意:空集合要写 set(),不能写 {},大括号空着是字典。

字典:按名字查的数据库

字典 dict 存的是键值对,通过键 key 一秒查到值 value,就像用学号查学生。键必须唯一,一般用字符串或数字。

stu = {"name": "小明", "age": 12}
print(stu["name"])
stu["grade"] = 6
print(stu)

取值推荐用 get():键不存在时返回 None(或你指定的默认值),不会像中括号那样直接报错。

stu = {"name": "小明"}
print(stu.get("age"))
print(stu.get("age", 0))

遍历字典用 items() 一次拿到键和值;in 判断某个键存不存在。

scores = {"语文": 95, "数学": 98, "英语": 90}
for k, v in scores.items():
    print(k, v)
print("数学" in scores)
print(sum(scores.values()) / len(scores))

提示:列表、字典、集合可以互相嵌套,比如用列表装多个字典,这是管理数据的常见套路。