Python list列表修改元素 图片看不了?点击切换HTTP 返回上层
列表的元素相当于变量,因此程序可以对列表的元素赋值,这样即可修改列表的元素。例如如下代码:
此外,程序也可通过 slice 语法对列表其中一部分赋值。在执行这个操作时,并不要求新赋值的元素个数与原来的元素个数相等。这意味着通过这种方式既可为列表增加元素,也可为列表删除元素。
例如,如下代码示范了对列表中间一段赋值:
a_list = [2, 4, -3.4, 'crazyit', 23] # 对第3个元素赋值 a_list[2] = 'fkit' print(a_list) # [2, 4, 'fkit', 'crazyit', 23] # 对倒数第2个元素赋值 a_list[-2] = 9527 print(a_list) # [2, 4, 'fkit', 9527, 23]上面代码通过索引到列表元素赋值,程序既可使用正数索引,也可使用负数索引,这都没有问题。
此外,程序也可通过 slice 语法对列表其中一部分赋值。在执行这个操作时,并不要求新赋值的元素个数与原来的元素个数相等。这意味着通过这种方式既可为列表增加元素,也可为列表删除元素。
例如,如下代码示范了对列表中间一段赋值:
b_list = list(range(1, 5)) print(b_list) # 将第2个到第4个(不包含)元素赋值为新列表的元素 b_list[1: 3] = ['a', 'b'] print(b_list) # [1, 'a', 'b', 4]如果对列表中空的 slice 赋值,就变成了为列表插入元素。例如如下代码:
# 将第3个到第3个(不包含)元素赋值为新列表的元素,就是插入 b_list[2: 2] = ['x', 'y'] print(b_list) # [1, 'a', 'x', 'y', 'b', 4]如果将列表其中一段赋值为空列表,就变成了从列表中删除元素。例如如下代码:
# 将第3个到第6个(不包含)元素赋值为空列表,就是删除 b_list[2: 5] = [] print(b_list) # [1, 'a', 4]对列表使用 slice 语法赋值时,不能使用单个值;如果使用字符串赋值,Python 会自动把字符串当成序列处理,其中每个字符都是一个元素。例如如下代码:
# Python会自动将str分解成序列 b_list[1: 3] = 'Charlie' print(b_list) # [1, 'C', 'h', 'a', 'r', 'l', 'i', 'e']在使用 slice 语法赋值时,也可指定 step 参数。但如果指定了 step 参数,则要求所赋值的列表元素个数与所替换的列表元素个数相等。例如如下代码:
c_list = list(range(1, 10)) # 指定step为2,被赋值的元素有4个,因此用于赋值的列表也必须有4个元素 c_list[2: 9: 2] = ['a', 'b', 'c', 'd'] print(c_list) # [1, 2, 'a', 4, 'b', 6, 'c', 8, 'd']