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)
输出的结果为:
可以看到,它将索引值从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)
输出结果为:
另外值得一提的是,如果切片指定了步长,那么你要替换的元素必须与原来的元素数量一致,否则会报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)
输出结果为:
本文链接:http://task.lmcjl.com/news/3718.html