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]
上面代码经由过程索引到列表元素赋值,顺序既可运用正数索引,也可运用负数索引,这都没有问题。
相干引荐:《Python视频教程》
另外,顺序也可经由过程 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']
以上就是python中list能够修正吗的细致内容,更多请关注ki4网别的相干文章!