Python元组与字典实战技巧

Python学习第五天:深入元组与字典实战

今天重点攻克了Python的元组字典两大核心数据结构,通过实战案例深化理解。以下是核心内容总结:


一、元组(Tuple)详解

元组是不可变序列,适合存储无需修改的数据集合,如坐标、配置项等。

特性与操作

  1. 创建t = (1, "a", 3.14) 或省略括号 t = 1, "a", 3.14
  2. 不可变性:元素不可增删改,但可整体重新赋值
  3. 解包:快速提取值
    x, y, z = (10, 20, 30)  # x=10, y=20, z=30
    

  4. 嵌套结构:支持元组嵌套
    matrix = ((1, 2), (3, 4), (5, 6))
    

实战案例:函数多返回值

def get_user_info():
    name = "Alice"
    age = 25
    return name, age  # 隐式转换为元组

user_data = get_user_info()
print(f"姓名:{user_data[0]}, 年龄:{user_data[1]}")  # 输出:姓名:Alice, 年龄:25


二、字典(Dictionary)核心应用

字典是键值对映射的可变容器,支持高效数据检索。

关键操作

  1. 创建d = {"name": "Bob", "age": 30}
  2. 增删改查
    d["email"] = "bob@example.com"  # 新增
    d["age"] = 31                   # 修改
    del d["name"]                   # 删除
    print(d.get("email", "N/A"))    # 安全获取
    

  3. 字典推导式:快速生成字典
    squares = {x: x**2 for x in range(1, 6)}  # {1:1, 2:4, 3:9, 4:16, 5:25}
    

实战案例:学生成绩管理系统

# 初始化嵌套字典
students = {
    "101": {"name": "Tom", "scores": (85, 92, 78)},
    "102": {"name": "Lisa", "scores": (90, 88, 95)}
}

# 添加新学生
students["103"] = {"name": "Jack", "scores": (76, 85, 80)}

# 计算平均分
for sid, info in students.items():
    avg_score = sum(info["scores"]) / len(info["scores"])
    print(f"学号:{sid}, 平均分:{avg_score:.2f}")

# 输出:
# 学号:101, 平均分:85.00
# 学号:102, 平均分:91.00
# 学号:103, 平均分:80.33


三、元组与字典的协作技巧
  1. 元组作字典键:因元组不可变,可作为字典的键
    location_map = {(35, 139): "东京", (40, 116): "北京"}
    print(location_map[(35, 139)])  # 输出:东京
    

  2. 字典值存储元组:保持数据完整性
    weather_data = {
        "2023-05-01": (22, 15, 0.8),  # (最高温, 最低温, 湿度)
        "2023-05-02": (25, 18, 0.6)
    }
    


总结
  • 元组:轻量级不可变数据容器,适合保护数据安全
  • 字典:灵活键值存储,支持高效检索与动态更新
  • 协作价值:元组为字典提供稳定键,字典为元组提供结构化存储

今日实战深刻体会到:元组是数据的保险箱,字典是数据的导航图!明日计划挑战集合(Set)与文件操作💪

本文代码均在Python 3.10验证通过,建议搭配Jupyter Notebook实操练习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值