Python删除列表元素的3种方法
之前看教程的时候比较着急,对这些基础掌握不好,过来回顾一下
使用del语句删除
lis = [1, 2, 3, 'a', 'b']
print(lis)
del lis[0]
print(lis)
输出
[1, 2, 3, 'a', 'b']
[2, 3, 'a', 'b']
使用del语句可以删除任何位置处的列表元素,条件是知道索引
如要删除列表中等的 ‘a’ 元素
lis = [1, 2, 3, 'a', 'b']
print(lis)
del lis[3]
print(lis)
输出
[1, 2, 3, 'a', 'b']
[1, 2, 3, 'b']
上面的实例表明,使用del语句将值从列表中删除后,就无法访问了
使用pop()方法删除
pop() 方法用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
lis = [1, 2, 3, 'a', 'b']
print(lis)
a = lis.pop()
print(a)
print(lis)
输出
[1, 2, 3, 'a', 'b']
b
[1, 2, 3, 'a']
可以看出列表末尾的元素被删除并赋值给a中
实际上,pop()方法可以用来删除列表中任何位置的元素,只需要在括号中指定要删除元素的索引即可
lis = [1, 2, 3, 'a', 'b']
print(lis)
a = lis.pop(1)
print(a)
print(lis)
输出
[1, 2, 3, 'a', 'b']
2
[1, 3, 'a', 'b']
可以看出用pop()方法把索引值为1的元素从列表中删除
同del一样,被弹出的元素就不在列表中了
根据值删除元素
有时候不知道元素在列表中的位置,但知道元素的值,就可以用remove()方法删除元素
例如我们要把列表中的元素 3 删除
lis = [1, 2, 3, 'a', 'b']
print(lis)
lis.remove(3)
print(lis)
输出
[1, 2, 3, 'a', 'b']
[1, 2, 'a', 'b']
注意
remove()方法只删除第一个指定的值
如我们列表中有两个元素的值为 3
lis = [1, 2, 3, 'a', 'b', 3]
print(lis)
lis.remove(3)
print(lis)
输出
[1, 2, 3, 'a', 'b', 3]
[1, 2, 'a', 'b', 3]
可以看出只删除了第一次出现的3
我们可以用循环来删除所有的3
lis = [1, 2, 3, 'a', 'b', 3]
print(lis)
while 3 in lis:
lis.remove(3)
print(lis)
输出
[1, 2, 3, 'a', 'b', 3]
[1, 2, 'a', 'b']
如果哪里有错误或不易理解,还请不吝赐教