列表、元组
课程目标
掌握列表的定义、增删改查操作
掌握元组的定义与特点
能区分列表和元组的适用场景
核心讲解
列表和元组都是用来存储一组数据的序列容器,按顺序存储,可以通过索引访问。
(1)列表(list)
列表是最常用的容器,可变,可以随时添加、删除、修改元素。
基础操作创建:用方括号
[]包裹,元素用逗号分隔访问:通过索引访问,索引从 0 开始,支持切片
修改:
列表[索引] = 新值添加元素:
append()末尾追加,insert()指定位置插入删除元素:
pop()删除指定位置,remove()删除指定值获取长度:
len()
(2)元组(tuple)
元组和列表类似,但不可变,创建后不能修改、添加、删除元素。
基础操作创建:用圆括号
()包裹,元素用逗号分隔访问、切片、获取长度的方式和列表一样
只有一个元素时,后面必须加逗号:
(10,)
(3)列表与元组的对比
表格
特性 | 列表 | 元组 |
|---|---|---|
可变性 | 可变 | 不可变 |
语法 |
|
|
速度 | 稍慢 | 更快 |
内存 | 占用更多 | 占用更少 |
适用场景 | 数据需要变化 | 数据固定不变 |
代码示例
# ===== 列表操作 =====
# 创建列表
fruits = ["苹果", "香蕉", "橙子"]
# 访问元素
print(fruits[0]) # 苹果
print(fruits[-1]) # 橙子
# 修改元素
fruits[1] = "葡萄"
print(fruits) # ['苹果', '葡萄', '橙子']
# 添加元素
fruits.append("西瓜") # 末尾添加
fruits.insert(1, "芒果") # 指定位置插入
print(fruits)
# 删除元素
fruits.pop() # 删除最后一个
fruits.remove("苹果") # 删除指定值
print(fruits)
# 切片
print(fruits[1:3])
# ===== 元组操作 =====
# 创建元组
info = ("张三", 22, "计算机专业")
# 访问元素
print(info[0]) # 张三
print(info[1:3]) # (22, '计算机专业')
# 元组不可修改,下面这行代码会报错
# info[1] = 23
常见误区
索引越界:访问不存在的下标会报错,注意列表长度
元组单个元素漏写逗号:
(10)是整数,不是元组,必须写成(10,)混淆方法:列表的增删方法不能用在元组上
课后练习
创建一个列表存储 5 个同学的名字,完成以下操作:
在末尾添加一个新名字
修改第 2 个名字
删除第 3 个名字
输出最终列表和列表长度
创建一个元组存储你的姓名、年龄、城市,尝试修改其中的值,观察报错
思考:为什么需要元组这种不可变的类型?
