鱼C论坛

 找回密码
 立即注册
查看: 1903|回复: 6

[技术交流] 列表list的插入和删除元素方式辨析(新手必看)

[复制链接]
发表于 2020-5-28 11:26:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 艾米Aimee 于 2020-5-28 15:30 编辑

插入方式辨析:


1 append

append添加新的元素至列表末尾,类似入栈操作。举例:
  1. t = ['a', 'b', 'c']
  2. t.append('d')
  3. print(t)
  4. #结果:['a', 'b', 'c', 'd']
复制代码



2 extend

extend本意是扩展列表,将整个列表扩充至原列表后面。举例:
  1. t1 = ['a', 'b', 'c']
  2. t2 = ['d', 'e']
  3. t1.extend(t2)
  4. print(t1)
  5. #结果:['a', 'b', 'c', 'd', 'e']
复制代码


3 insert

s.insert(i, x),将 x 元素插入到 s 列表中的 i 位置(其它元素依次往后递推)。
所以,s.insert(0, x) 是将 x 元素插入到 s 列表的开头;
s.insert(len(s), x) 则是将 x 元素插入到 s 列表的末尾,等同于 s.append(x)
举例:
  1. t1=['a', 'b', 'c','e']
  2. t1.insert(3,'d')
  3. print(t1)
  4. #结果:['a', 'b', 'c', 'd', 'e']
复制代码



删除方式辨析:

1 pop

pop可以简单理解为类似出栈操作。
pop会删除指定位置的元素,并且返回该元素。
如果你没有提供删除元素的位置,pop会删除列表的最后一个元素,并返回值。
举例:

  1. t = ['a', 'b', 'c']
  2. x = t.pop(1)
  3. print(t,x)
  4. #结果:['a', 'c'] b
复制代码


2 remove

remove移除一个元素,并且返回值为none
已知被删除元素的值,remove会删除该列表中第一个符合值的元素。举例:
  1. t = ['a', 'b', 'c','b']
  2. t.remove('b')
  3. print(t)
  4. #结果:['a', 'c', 'b']
复制代码


3 del

del为delete的简写,删除指定位置、指定范围的元素,如果不需要删除的元素,可以使用del。
del可以删除单个元素,也可以删除一片元素。
删除单个元素:
  1. t = ['a', 'b', 'c']
  2. del t[1]
  3. print(t)
  4. #结果:['a', 'c']
复制代码

删除指定范围元素:
  1. t = ['a', 'b', 'c', 'd', 'e', 'f']
  2. del t[1:5]
  3. print(t)
  4. #结果:['a', 'f']
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-28 12:50:39 | 显示全部楼层
  1. 用法二:已知被删除元素的位置,remove会删除该位置元素。
复制代码
强烈不建议
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-28 15:19:17 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-28 15:20:48 | 显示全部楼层

效率爆炸
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-28 15:26:34 | 显示全部楼层

哦哦是这样,我还没有写过很多行的,所以不知道这个。语法上没错误,就是执行效率低,对吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-28 15:28:28 | 显示全部楼层
艾米Aimee 发表于 2020-5-28 15:26
哦哦是这样,我还没有写过很多行的,所以不知道这个。语法上没错误,就是执行效率低,对吧


是的,有这种需要建议直接del
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-28 15:30:06 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-28 15:28
是的,有这种需要建议直接del

好的,那我把这个用法删掉。谢谢永恒的蓝色梦想~

评分

参与人数 1荣誉 +1 收起 理由
永恒的蓝色梦想 + 1 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-20 17:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表