首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python基础:Python列表更新之修改列表元素详解

欢迎你来到站长在线的站长学堂学习Python知识,本文分享的是《Python列表更新之在Python中修改列表元素详解》。本知识点主要内容有:在Python中修改单个元素、在Python中修改一组元素。

在Python中添加、修改和删除列表元素也称为更新列表。在实际开发Python时,常常需要对列表进行更新,下面本知识点开始介绍如何修改列表元素。

在Python中修改列表元素有两种情况,一个是修改单个元素,一个是修改一组元素。现在站长在线分别讲解:

1、在Python中修改单个元素

修改单个元素非常简单,直接对元素赋值即可。使用索引得到列表元素后,通过“=”赋值符就改变了元素的值。

请看下面的例子:

num = [88, 66, 33, 17, 99, 28, 18] num[2] = 56  #使用正数索引 num[-3] = -5  #使用负数索引print(num)

运行结果如下:

[88, 66, 56, 17, -5, 28, 18] >>>

2、在Python中修改一组元素

Python 支持通过切片语法给一组元素赋值。在进行这种操作时,如果不指定步长(step 参数),Python 就不要求新赋值的元素个数与原来的元素个数相同;这意味,该操作既可以为列表添加元素,也可以为列表删除元素。

num = [88, 66, 33, 17, 99, 28, 18]

#修改第 3~6 个元素的值(不包括第6个元素)

num[3:6] = [56,17,-5]

print(num)

运行结果如下:

[88, 66, 33, 56, 17, -5, 18] >>>

如果对空切片(slice)赋值,就相当于插入一组新的元素:

num = [88, 66, 33, 17, 99, 28, 18] #在5个元素处插入新元素 num[4:4] = [56,17,-5] print(num)

运行结果:

[88, 66, 33, 17, 56, 17, -5, 99, 28, 18] >>>

使用切片语法赋值时,Python 不支持单个值,例如下面的写法就是错误的:

num = [88, 66, 33, 17, 99, 28, 18]

#在5个元素处插入新元素

num[4:4] = 100

print(num)

报错如下:

Traceback (most recent call last):   File "D:\Python\Python310\Doc\000.py", line 3, in     num[4:4] = 100 TypeError: can only assign an iterable >>>

但是如果使用字符串赋值,Python 会自动把字符串转换成序列,其中的每个字符都是一个元素,请看下面的代码:

s = list("Hello Python") s[6:12] = "XYZ" print(s)

执行结果如下:

['H', 'e', 'l', 'l', 'o', ' ', 'X', 'Y', 'Z'] >>>

使用切片语法时也可以指定步长(step 参数),但这个时候就要求所赋值的新元素的个数与原有元素的个数相同,例如:

num = [88, 66, 33, 17, 99, 28, 18]

#步长为2,为第1、3、5个元素赋值

num[1: 6: 2] = [55, -55, 59.5]

print(num)

运行结果为:

[88, 55, 33, -55, 99, 59.5, 18]

>>>

到此为止,本文《Python列表更新之在Python中修改列表元素详解》中的主要内容有:在Python中修改单个元素、在Python中修改一组元素。就讲解完毕了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20211103A08T7G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券