列表(List)是Python中最常用的数据类型,修改元素是列表核心操作之一。
核心特点:列表是可变序列,直接通过「索引/切片」就能修改元素,不用重新创建列表,简单高效!
下面用最清晰、最适合阅读的例子,带你掌握所有常用修改方式👇
一、修改单个元素(最基础)
用法
列表名[索引] = 新值⚠️ 注意:Python列表索引从0开始
示例代码
# 定义一个水果列表
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
# 修改索引为1的元素(第二个元素:香蕉)
fruits[1] = "芒果"
print(fruits)
# 输出:['苹果', '芒果', '橙子', '葡萄']
通俗解释
想改列表里某一个元素,直接找到它的位置(索引),赋值新内容就搞定!
二、修改多个连续元素(批量替换)
用法
列表名[起始索引:结束索引] = 新列表支持一次性替换连续的多个元素,长度可以不一样!
示例代码
nums = [1, 2, 3, 4, 5]
# 把索引1~2的元素(2、3)替换成 99、88
nums[1:3] = [99, 88]
print(nums)
# 输出:[1, 99, 88, 4, 5]
# 也可以替换成不同长度的内容
nums[0:2] = [0]
print(nums)
# 输出:[0, 88, 4, 5]
通俗解释
批量修改连续元素,就像「替换文本片段」,选中一段,直接换新内容!
三、修改多个不连续元素(高级用法)
用法
结合循环或逐个赋值,修改不挨着的元素
示例代码
scores = [90, 85, 70, 65, 80]
# 单独修改第1个、第3个元素
scores[0] = 95
scores[2] = 75
print(scores)
# 输出:[95, 85, 75, 65, 80]
进阶:循环批量修改
# 把所有小于80的分数改成80
for i in range(len(scores)):
if scores[i] < 80:
scores[i] = 80
print(scores)
# 输出:[95, 85, 80, 80, 80]
四、避坑小提示
索引不能越界修改单个元素时,索引不能超过列表长度-1,否则会报错!
lst = [1,2]
lst[5] = 10# 报错!索引超出范围
切片修改无越界问题用切片修改时,即使索引超出范围也不会报错,会自动追加到末尾。
只能修改列表,不能修改字符串字符串是不可变类型,不能用索引直接修改!
总结
- 改连续多个:
列表[start:end] = 新列表(批量替换)