Python 删除 List 元素的三种方法:remove、pop 与 del 详解
本文详细介绍 Python 中删除列表元素的三种常用方法:remove、pop 和 del。remove 按值删除首个匹配元素;pop 按索引删除并返回被删元素;del 根据索引或范围删除,也可用于删除整个变量引用。文章通过具体代码示例对比三者的行为差异,并补充了通过遍历生成新列表的变相删除技巧,帮助开发者根据实际需求选择合适的方法。
1. remove:用于删除单个元素。该方法会查找列表中首个符合条件的值,并按值进行删除,处理顺序为从左向右依次匹配并删除符合条件的元素。
具体操作示例如下:
>>> str=[1,2,3,4,5,2,6] >>> str.remove(2) >>> str [1, 3, 4, 5, 2, 6]
2. pop:用于删除单个或多个元素。该方法依据索引位置进行删除操作。
>>> str=[0,1,2,3,4,5,6] >>> str.pop(1) #pop删除时会返回被删除的元素 1 >>> str [0, 2, 3, 4, 5, 6] >>> str2=['abc','bcd','dce'] >>> str2.pop(2) 'dce' >>> str2 ['abc', 'bcd']
3. del:依据元素的索引位置(即元素在列表中的具体位置)来执行删除操作。
具体操作示例如下:
>>> str=[1,2,3,4,5,2,6] >>> del str[1] >>> str [1, 3, 4, 5, 2, 6] >>> str2=['abc','bcd','dce'] >>> del str2[1] >>> str2 ['abc', 'dce']
此外,del 还支持删除指定索引范围内的元素。
>>> str=[0,1,2,3,4,5,6] >>> del str[2:4] #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素) >>> str [0, 1, 4, 5, 6]
del 同样可以用于删除整个数据对象,例如列表、集合等。
>>> str=[0,1,2,3,4,5,6] >>> del str >>> str #删除后,找不到对象 Traceback (most recent call last): File "<pyshell#27>", line 1, in <module> str NameError: name 'str' is not defined
需要注意的是:del 删除的是变量的引用(即变量名与对象的关联),而非直接删除对象本身。被删除引用的对象将由自动垃圾回收机制(GC)负责清理。
补充:删除元素的变相实现方法。
s1=(1,2,3,4,5,6) s2=(2,3,5) s3=[] for i in s1: if i not in s2: s3.append(i) print 's1-1:',s1 s1=s3 print 's2:',s2 print 's3:',s3 print 's1-2:',s1
至此,关于 Python 中删除 List 元素的三种方法(remove、pop、del)的介绍已完成。如需了解更多 Python 列表元素删除相关内容,建议查阅本站过往文章或继续浏览后续教程,感谢大家的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









