python删除列表内容

作者:hebedich 时间:2023-05-23 02:47:49 

今天有点囧


a=['XXXX_game.sql', 'XXXX_game_sp.sql', 'XXXX_gamelog_sp.sql', 'XXXX_gamelog.sql']
for i in a:
 if 'gamelog' in i:
   a.remove(i)
print a
['XXXX_game.sql', 'XXXX_game_sp.sql', 'XXXX_gamelog.sql']

历遍的过程中明显MISS掉了   'XXXX_gamelog.sql'  这个项目,大家可以自己试试,为什么会没删完,这到底是什么原因呢?

我们再验证一次


for i in a:
 if 'gamelog' in i:
   print i,

XXXX_gamelog_sp.sql XXXX_gamelog.sql

看到结果,如果我们不对它进行remove的操作,是不会有问题的。完全可以历遍。

这样我们大概知道了,在对列表进行remove操作的时候,用历遍的方法是不行的。那如何解决?


a1=a[::]      #这里我们镜像一个列表a1,但是千万别用a1=a,为什么,我们可以测试下 a1=a[::] a1==a True; a1 is a False; 如果用a1=a a1==a True; a1 is a True,下来大家可以测试下,这个是列表的一个特性。
for i in a1:
 if 'gamelog' in i:
   a.remove(i)
print a

['XXXX_game.sql', 'XXXX_game_sp.sql']

再来一个例子

[ { 'Num': '001', 'Name': '张三', 'Workingtime': 'Monday', 'Money': '100' }
 { 'Num': '002', 'Name': '李四', 'Workingtime': 'Tuesday', 'Money': '200' }]
因为有'张三',所以删除 { 'Num': '001', 'Name': '张三', 'Workingtime': 'Monday', 'Money': '100'}整一行,怎么操作

思路是找到要删除的元素在列表中的索引,然后调用 pop,索引作为参数。pop 返回被删除的元素。队列剩下的就是删除该索引元素之后的剩余的。


lname = [ { 'Num': '001', 'Name': '张三', 'Workingtime': 'Monday', 'Money': '100' } { 'Num': '002', 'Name': '李四', 'Workingtime': 'Tuesday', 'Money': '200' }]
for x in range(len(lname)):  #列表遍历  
   if l[x]['name'] == u'张三':    
   lname.pop(x)      #用 pop。
   break         #操作完成,break 出去

好了,今天就先到这里

标签:python,删除列表
0
投稿

猜你喜欢

  • Python 递归式实现二叉树前序,中序,后序遍历

    2022-09-22 17:38:32
  • ThinkPHP模板范围判断输出In标签与Range标签用法详解

    2024-05-05 09:17:00
  • MySQL replace into 语句浅析(一)

    2024-01-25 21:47:57
  • 使用setup.py安装python包和卸载python包的方法

    2023-01-31 02:20:47
  • 详细解读Python字符串的使用与f-string

    2023-06-29 07:24:21
  • Python pip更新的两种方式详解

    2022-07-06 20:00:29
  • SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例

    2024-01-18 22:04:53
  • Python爬虫爬取微博热搜保存为 Markdown 文件的源码

    2023-03-03 23:30:29
  • python实现石头剪刀布小游戏

    2022-03-22 15:47:36
  • Python制作词云的方法

    2021-08-26 19:52:20
  • 数据库设计三大范式简析

    2024-01-13 10:33:10
  • Python数据结构之双向链表的定义与使用方法示例

    2023-06-29 06:20:45
  • python 输出上个月的月末日期实例

    2022-11-30 16:33:11
  • vue.js $refs和$emit 父子组件交互的方法

    2024-04-30 10:19:11
  • asp动态页面防采集的新方法

    2011-02-26 10:44:00
  • Web标准在中国

    2008-11-26 11:27:00
  • pytorch获取模型某一层参数名及参数值方式

    2022-07-03 06:10:28
  • python 用opencv实现图像修复和图像金字塔

    2022-09-27 09:24:22
  • 10张动图学会python循环与递归问题

    2023-08-23 10:55:42
  • Mac 安装 Python3.10 和 配置环境的详细教程

    2021-09-20 08:47:54
  • asp之家 网络编程 m.aspxhome.com