Python零基础通关教程(二):列表、字典与函数详解(附生活化案例)

一、前情回顾与学习路线

第一篇重点复习
✅ 变量与数据类型 ✅ 条件判断 ✅ 循环结构
本篇新知识地图

graph LR
    A[基础语法] --> B[列表]
    A --> C[字典]
    B --> D[函数进阶]
    C --> D

二、列表(List):你的数据收纳盒 

1. 列表是什么?

  • 现实比喻:像超市购物车,可以随时添加/取出商品

  • 代码定义:用方括号[]包裹,元素用逗号分隔

# 创建购物车列表
cart = ["苹果", "牛奶", "面包"]
print("购物车里有:", cart)  # 输出:['苹果', '牛奶', '面包']

2. 列表基础操作(手把手演示)

① 访问元素
print(cart[0])   # 输出"苹果"(索引从0开始)
print(cart[-1])  # 输出"面包"(倒数第一个)
② 修改元素
cart[1] = "酸奶"  # 把牛奶换成酸奶
print(cart)      # ['苹果', '酸奶', '面包']
③ 添加元素
cart.append("鸡蛋")  # 末尾添加
print(cart)         # ['苹果', '酸奶', '面包', '鸡蛋']

cart.insert(1, "香蕉")  # 插入到第2个位置
print(cart)            # ['苹果', '香蕉', '酸奶', '面包', '鸡蛋']

3. 小练习:家庭收支记账

# 初始化账单列表
bills = [1200, 850, 300]

# 添加新支出
bills.append(200)

# 计算总支出
total = sum(bills)
print("本月总支出:", total)  # 输出:2550

三、字典(Dict):你的数据档案袋

1. 字典是什么?

  • 现实比喻:像学生档案,每个学生有唯一的学号(键)对应详细信息(值)

  • 代码定义:用花括号{}包裹,键值对用key: value表示

# 创建学生档案
student = {
    "name": "王小萌",
    "age": 18,
    "courses": ["数学", "英语"]
}

2. 字典基础操作(对比列表)

① 访问数据
print(student["name"])  # 输出"王小萌"
print(student.get("gender", "未知"))  # 安全获取,输出"未知"
② 修改数据
student["age"] = 19  # 修改年龄
student["gender"] = "女"  # 新增性别字段
③ 实用方法
# 获取所有键
keys = student.keys()  # dict_keys(['name', 'age', 'courses', 'gender'])

# 遍历字典
for key, value in student.items():
    print(f"{key}: {value}")

3. 小练习:通讯录管理

# 创建通讯录
contacts = {
    "爸爸": "13800001111",
    "妈妈": "13900002222"
}

# 添加新联系人
contacts["老师"] = "13500003333"

# 查找电话
name = input("输入联系人:")
phone = contacts.get(name, "未找到")
print(f"{name}的电话是:{phone}")

四、函数进阶:让代码更智能

1. 带参数的函数

# 计算商品总价
def calculate_price(price, quantity):
    total = price * quantity
    return f"总价:{total}元"

print(calculate_price(5, 3))  # 输出"总价:15元"

2. 参数默认值

# 带默认值的问候函数
def greet(name="朋友"):
    print(f"你好,{name}!")

greet()          # 输出"你好,朋友!"
greet("李雷")    # 输出"你好,李雷!"

3. 小练习:成绩转换器

def convert_score(percent):
    if percent >= 90:
        return "A"
    elif percent >= 80:
        return "B"
    else:
        return "C"

print(convert_score(85))  # 输出B

五、综合案例:学生管理系统(极简版)

# 初始化学生列表
students = []

# 添加学生函数
def add_student():
    name = input("输入姓名:")
    age = int(input("输入年龄:"))
    students.append({"name": name, "age": age})
    print("添加成功!")

# 显示所有学生
def show_students():
    print("\n当前学生列表:")
    for stu in students:
        print(f"姓名:{stu['name']},年龄:{stu['age']}")

# 主程序
while True:
    print("\n1.添加学生 2.查看学生 3.退出")
    choice = input("请选择:")
    
    if choice == "1":
        add_student()
    elif choice == "2":
        show_students()
    elif choice == "3":
        break
    else:
        print("输入错误!")

六、避坑指南

1.列表越界错误

nums = [1,2,3]
# print(nums[3])  # 错误!最大索引是2
print(nums[-1])   # 正确获取最后一个元素 → 3

2.字典键不存在

info = {"name": "Tom"}
# print(info["age"])  # 报KeyError
print(info.get("age", "暂无信息"))  # 正确写法

学习建议

  1. 代码要手敲:不要直接复制粘贴!

  2. 修改案例:尝试改动示例代码中的数值/文字

  3. 每日目标:至少完整运行3个不同的程序

📢 下期预告:字符串操作与文件读写入门(实现日记本程序)
❤️ 如果本文对你有帮助,点赞收藏支持下博主吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值