python中提供了两种修改列表(list)元素的方法,你可以修改单个元素,也可以每次修改多个元素
修改单个元素
修改单个元素直接对元素赋值即可
示例:
list = ["python",1,2,"java",78,9,80,90,2,34,2]
print(list)
list[0] = 1
print(list)
运行结果:
[‘python’, 1, 2, ‘java’, 78, 9, 80, 90, 2, 34, 2]
[1, 1, 2, ‘java’, 78, 9, 80, 90, 2, 34, 2]
使用索引得到列表元素后,通过 = 赋值就改变了元素的值
修改多个元素
python支持通过切边语法给一组元素赋值。在进行这种操作时,如果不指定步长(step参数),python就不要求新赋值的元素个数与原来的元素个数相同;这就意味着,该操作既可以为列表添加元素,也可以为列表删除元素
示例:
list = ["python",1,2,"java",78,9,80,90,2,34,2]
print(list)
#修改第一个元素到第五个元素(不包含第五个元素)
list[0:4] = [1,2,3,4]
print(list)
运行结果:
[‘python’, 1, 2, ‘java’, 78, 9, 80, 90, 2, 34, 2]
[1, 2, 3, 4, 78, 9, 80, 90, 2, 34, 2]
如果对空切片(slice)赋值,就相当于插入一组新的元素
示例:
list = ["python",1,2,"java",78,9,80,90,2,34,2]
print(list)
#对空切片(slice)赋值,就相当于插入一组新的元素
list[4:4] = [1,2,3,4]
print(list)
运行结果:
[‘python’, 1, 2, ‘java’, 78, 9, 80, 90, 2, 34, 2]
[‘python’, 1, 2, ‘java’, 1, 2, 3, 4, 78, 9, 80, 90, 2, 34, 2]
使用切片语法赋值时,python不支持单个值,比如:list[4:4] = 33这种写法是错误的
但是如果使用字符串赋值,python会自动把字符串转换成序列,其中每个字符都是一个元素
示例
list = ["python",1,2,"java",78,9,80,90,2,34,2]
print(list)
list[2:4] = "xyz"
print(list)
运行结果:
[‘python’, 1, 2, ‘java’, 78, 9, 80, 90, 2, 34, 2]
[‘python’, 1, ‘x’, ‘y’, ‘z’, 78, 9, 80, 90, 2, 34, 2]
使用切片语法时也可以指定步长(step参数),但这个必须要求所赋值的新元素的个数与原有元素的个数相同
示例:
list = ["python",1,2,"java",78,9,80,90,2,34,2]
print(list)
list[1:6:2] = [3,4,5]
print(list)
运行结果:
[‘python’, 1, 2, ‘java’, 78, 9, 80, 90, 2, 34, 2]
[‘python’, 3, 2, 4, 78, 5, 80, 90, 2, 34, 2]