好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python修改 list列表元素

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]

PDF电子发票识别软件,一键识别电子发票并导入到Excel中!

10大顶级数据挖掘软件!

人工智能的十大作用!

另外值得一提的是,如果切片指定了步长,那么你要替换的元素必须与原来的元素数量一致,否则会报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列表元素的详细内容...

  阅读:39次