Rumah  >  Artikel  >  pembangunan bahagian belakang  >  python中list可以修改吗

python中list可以修改吗

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼asal
2019-06-11 17:27:466437semak imbas

列表的元素相当于变量,因此程序可以对列表的元素赋值,这样即可修改列表的元素。例如如下代码:

python中list可以修改吗

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']

Atas ialah kandungan terperinci python中list可以修改吗. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:python如何声明全局变量Artikel seterusnya:python爬虫需要安装哪些库