Python列表元素删除和remove()方法详解

作者:Hello_xzy_Word 时间:2023-04-07 08:48:54 

删除列表中元素的方法有三种:

1. del命令

使用del命令能够删除列表中指定位置上的元素,也可以删除整个列表。

2. pop( )方法

使用列表的pop()方法能够删除并返回列表指定位置(默认为最后一个位置)的元素。

3. remove方法

使用列表的remove()方法能够删除列表中首次出现的指定元素,如果列表中不存在该元素则抛出异常。有的时候可能需要删除列表中某一大量重复的数据,我们很容易就会想到列表的remove()方法,例如:


x=[1,2,1,2,1,2,1,2]
y=[1,1,2,1,2,1,2,1,1,1,2]
for i in x:
if i==1:
 x.remove(i)
print("List_1=",x)
for i in y:
if i==1:
 y.remove(i)
print("List_2=",y)

结果:

List_1= [2, 2, 2, 2]
 
List_2= [2, 2, 2, 1, 1, 2]

但是当我们在具体实现时很可能会遇到意想不到的错误,代码有的时候能够达到预期的删除所有重复元素的效果,有的时候只能删除部分重复元素,如上例所示。比较两个列表,发现,列表x中所有的1都是不相邻的,列表y中有的1是相邻的。出现以上问题的原因在于,列表的内存自动管理功能,在删除列表中的元素时,python会自动对列表内存进行收缩,并移动列表中的元素以保证元素之间没有间隙,所以使用“循环+remove()方法”来删除列表中某一重复元素时,如果存在相邻的该元素,在删除前面一个元素后,后一个元素会被移动到刚被删除的这个元素的位置,这样这个元素就“躲过了删除”

Python列表元素删除和remove()方法详解

对于以上问题代码可以做如下修改:


x=[1,2,1,2,1,2,1,2]
y=[1,1,2,1,2,1,2,1,1,1,2]
for i in x:
if i==1:
 x.remove(i)
print("List_1=",x)
while y.count(1)>0://或者while 1 in y:
for i in y:
 if i==1:
  y.remove(i)
print("List_2=",y)

输出结果:

List_1= [2, 2, 2, 2]
 
List_2= [2, 2, 2, 2]

来源:https://blog.csdn.net/qq_39514033/article/details/80807227

标签:python,列表,remove()方法
0
投稿

猜你喜欢

  • SQL Server的链接服务器技术小结

    2024-01-17 03:41:22
  • 17个Python小技巧分享

    2022-04-17 23:26:53
  • c#操作sqlserver数据库的简单示例

    2024-01-28 11:25:23
  • HTML标签tbody的用法

    2009-11-02 10:11:00
  • Python完全识别验证码自动登录实例详解

    2023-12-17 03:58:14
  • 简单谈谈Python流程控制语句

    2023-03-12 12:34:25
  • 浅谈django 重载str 方法

    2022-12-17 18:40:33
  • python从入门到实践之字典

    2023-05-11 22:20:17
  • python利用pandas分析学生期末成绩实例代码

    2023-12-13 19:29:08
  • 详解Python多线程Selenium跨浏览器测试

    2023-05-05 08:10:11
  • python脚本调用iftop 统计业务应用流量的思路详解

    2022-02-07 02:37:12
  • Tensorflow分类器项目自定义数据读入的实现

    2023-06-21 20:21:53
  • c#获得目标服务器中所有数据库名、表名、列名的实现代码

    2024-01-25 11:20:48
  • 国内ASP开源建站系统一览

    2009-07-10 13:21:00
  • Python实现智能贪吃蛇游戏的示例代码

    2023-01-28 13:39:36
  • 根据多条件查询临时表 想得到不同结果集的方法

    2024-01-23 22:49:37
  • 使用python+pygame开发消消乐游戏附完整源码

    2021-06-26 03:42:52
  • python3中数组逆序输出方法

    2022-08-12 22:25:56
  • python访问sqlserver示例

    2022-07-15 07:25:01
  • Python函数高级(命名空间、作用域、装饰器)

    2022-03-15 23:31:44
  • asp之家 网络编程 m.aspxhome.com