Python基础语法数据结构初探与字符串

一、列表(List):灵活的有序集合

1. 定义与基本操作

列表用方括号 [] 定义,元素用逗号分隔,可动态修改。

# 创建列表
fruits = ["苹果", "香蕉", "橘子", "葡萄"]
numbers = [1, 3, 5, 7, 9]

# 访问元素(索引从0开始)
print(fruits[0])  # 输出:苹果
print(numbers[-1]) # 输出9(负数索引表示倒数)

# 修改元素
fruits[1] = "芒果"  # 列表变为 ["苹果", "芒果", "橘子", "葡萄"]

2. 常用方法

方法说明示例
append(item)在末尾添加元素fruits.append("梨")
insert(index, item)在指定位置插入元素fruits.insert(1, "西瓜")
remove(item)删除第一个匹配的元素fruits.remove("橘子")
pop([index])删除并返回指定位置元素fruits.pop(2) → "橘子"
sort()排序(默认升序)numbers.sort()
reverse()反转列表fruits.reverse()

3. 列表切片

切片语法:list[start:end:step](左闭右开区间)

nums = [0, 1, 2, 3, 4, 5]
print(nums[1:4])   # 输出 [1, 2, 3]
print(nums[::2])   # 输出 [0, 2, 4](步长为2)

二、元组(Tuple):不可变的序列

元组用圆括号 () 定义,元素不可修改,适合存储固定数据。

# 创建元组
colors = ("红色", "绿色", "蓝色")
point = (3, 4)

# 访问元素
print(colors[1])  # 输出:绿色

# 尝试修改会报错!
# colors[1] = "黄色"  # TypeError: 'tuple'不支持修改

# 特殊写法(单元素元组需加逗号)
single_item = (5,)  # 不是 (5)

三、字典(Dictionary):键值对的映射

字典用花括号 {} 定义,通过键(key)快速访问值(value),键必须是不可变类型(如字符串、数字)。

1. 基本使用

# 创建字典
student = {
    "name": "Alice",
    "age": 18,
    "courses": ["数学", "物理"]
}

# 访问值
print(student["name"])  # 输出:Alice

# 添加/修改键值对
student["gender"] = "女"  # 添加新键
student["age"] = 19      # 修改已有键

# 删除键值对
del student["courses"]

2. 常用方法

方法说明示例
keys()获取所有键student.keys() → dict_keys(['name', 'age'])
values()获取所有值student.values() → dict_values(['Alice', 19])
items()获取所有键值对student.items() → dict_items([('name', 'Alice'), ('age', 19)])
get(key, default)安全获取值(避免KeyError)student.get("score", 0) → 0

四、集合(Set):唯一元素的无序集合

集合用花括号 {} 或 set() 创建,元素唯一且无序,常用于去重和集合运算。

# 创建集合
fruits = {"苹果", "香蕉", "橘子", "苹果"}  # 自动去重 → {"苹果", "香蕉", "橘子"}
numbers = set([1, 2, 3, 2, 1])         # → {1, 2, 3}

# 集合运算
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}

五、综合案例:学生成绩管理系统

# 用字典和列表管理学生信息
students = [
    {"name": "Alice", "scores": [85, 90, 78]},
    {"name": "Bob", "scores": [76, 88, 92]}
]

# 计算每位学生的平均分
for student in students:
    avg_score = sum(student["scores"]) / len(student["scores"])
    print(f"{student['name']}的平均分:{avg_score:.1f}")

# 输出:
# Alice的平均分:84.3
# Bob的平均分:85.3

七、总结与练习

核心知识点

  1. 列表:动态修改的有序集合,支持增删查改。

  2. 元组:不可变序列,适合存储固定数据。

  3. 字典:键值对映射,快速查找数据。

  4. 集合:唯一元素的无序集合,支持集合运算。

  5. 字符串进阶:切片、格式化和常用方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值