艾米Aimee 发表于 2020-5-28 11:26:09

列表list的插入和删除元素方式辨析(新手必看)

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

插入方式辨析:


1 append

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


2 extend

extend本意是扩展列表,将整个列表扩充至原列表后面。举例:
t1 = ['a', 'b', 'c']
t2 = ['d', 'e']
t1.extend(t2)
print(t1)
#结果:['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)
举例:
t1=['a', 'b', 'c','e']
t1.insert(3,'d')
print(t1)
#结果:['a', 'b', 'c', 'd', 'e']


删除方式辨析:

1 pop

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

t = ['a', 'b', 'c']
x = t.pop(1)
print(t,x)
#结果:['a', 'c'] b

2 remove

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

3 del

del为delete的简写,删除指定位置、指定范围的元素,如果不需要删除的元素,可以使用del。
del可以删除单个元素,也可以删除一片元素。
删除单个元素:
t = ['a', 'b', 'c']
del t
print(t)
#结果:['a', 'c']
删除指定范围元素:
t = ['a', 'b', 'c', 'd', 'e', 'f']
del t
print(t)
#结果:['a', 'f']

永恒的蓝色梦想 发表于 2020-5-28 12:50:39

用法二:已知被删除元素的位置,remove会删除该位置元素。强烈不建议

艾米Aimee 发表于 2020-5-28 15:19:17

永恒的蓝色梦想 发表于 2020-5-28 12:50
强烈不建议

为什么

永恒的蓝色梦想 发表于 2020-5-28 15:20:48

艾米Aimee 发表于 2020-5-28 15:19
为什么

效率爆炸

艾米Aimee 发表于 2020-5-28 15:26:34

永恒的蓝色梦想 发表于 2020-5-28 15:20
效率爆炸

哦哦是这样,我还没有写过很多行的,所以不知道这个。语法上没错误,就是执行效率低,对吧

永恒的蓝色梦想 发表于 2020-5-28 15:28:28

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

是的,有这种需要建议直接del

艾米Aimee 发表于 2020-5-28 15:30:06

永恒的蓝色梦想 发表于 2020-5-28 15:28
是的,有这种需要建议直接del

好的,那我把这个用法删掉。谢谢永恒的蓝色梦想~
页: [1]
查看完整版本: 列表list的插入和删除元素方式辨析(新手必看)