Python 有两种修改列表元素的方法:
- 修改单个元素
- 同时修改多个元素
修改单个元素
修改列表单个元素很简单,直接给对应索引位置的元素赋值即可。语法为:列表变量名[索引值]=值
。
实例如下:
tech = ['Python','Web','Spider']
tech[1] = 'Big Data'
print(tech)
输出结果为:
['Python', 'Big Data', 'Spider']
同时修改多个元素
Python支持使用切片语法同时修改多个列表元素,严格来讲,它所做的应该是替换。
它的语法格式为:
列表变量名[起始索引值:结束索引值]=[元素A,元素B...]
下面简单的示例演示了如何修改多个元素的值:
items = [1,3,5,7,9,11,13]
items[2:5]=[2,4,6]
print(items)
输出的结果为:
[1, 3, 2, 4, 6, 11, 13]
可以看到,它将索引值从2到4的元素,依次进行了替换。并且根据切片的特性,它修改的是索引2、3、4共3个元素,不会将索引值为5的元素修改掉。想了解更多切片的内容,可点击《Python 序列详解(含索引、切片) —Python技术站》文章查看。
正如上文所讲,此方式其实是对多个元素进行替换,也就是说,你想要替换的元素既可以多也可以少,也就是既可以新增,也可以删除。
实例如下:
items = [1,2,3,4,5,6,7,8,9,10]
#替换为更多个元素
items[2:5]=[8,8,8,8,8,8,8,8,8,8,8,8]
print(items)
items2 = [1,2,3,4,5,6,7,8,9]
#替换为更少个元素
items2[2:6]=[0,0]
print(items2)
输出结果为:
[1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 7, 8, 9, 10]
[1, 2, 0, 0, 7, 8, 9]
另外值得一提的是,如果切片指定了步长,那么你要替换的元素必须与原来的元素数量一致,否则会报ValueError的异常。
items = [1,2,3,4,5,6,7,8,9,10]
#步长为2,为第2、4、6个元素赋值
items[2:8:2]=[0,0,0]
print(items)
items2 = [1,2,3,4,5,6,7,8,9,10]
#赋值时数量多一位
items2[2:8:2]=[0,0,0,0]
print(items2)
输出结果为:
[1, 2, 0, 4, 0, 6, 0, 8, 9, 10]
Traceback (most recent call last):
File "C:/Program Files (x86)/Shared/Python37_64/demo/demo1.py", line 9, in
items2[2:8:2]=[0,0,0,0]
ValueError: attempt to assign sequence of size 4 to extended slice of size 3
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python修改 list列表元素 - Python技术站