中list如何清空_如何根据索引删除 list 中的元素

9f3ec78d78eb973b92f98101c7b9512f.png

这个问题很简单, 首先想到的就是

a = list(range(10))
del a[2]

这个就可以很方便的删除掉 a 中的第 3 个元素.

如果我想删除多个元素怎么办, 比如我想删除第 3, 4, 5, 6 个元素? 这个也很好办:

a = list(range(10))
del a[2:6]

那么我要删除的元素的索引不连续呢? 比如我要删除第 3, 4, 6 个元素?

a = list(range(10))
a = [item for index, item in enumerate(a) if not index in [3, 4, 6]]

但是这个操作跟前面的 del 操作有个明显的区别, 就是这种方法实际上是又重新创建了一个 list. 那么, 我不想重新创建一个 list, 而用 del 不行吗?

a = list(range(10))
for index in [3, 4, 6]:del a[index]

这个是有问题的, 你可以把 a 打印出来看一下:

[0, 1, 2, 4, 6, 7, 9]

少的是第 3, 5, 8 个元素. 这个其实也很好理解, 因为当你删除掉了第 3 个元素, 那么第 5 个元素变成了第 4 个元素, 下一次删除的时候, 就会把原先的第 5 个元素删除掉. 其实解决方法很简单.

a = list(range(10))
for index in sorted([3, 4, 6])[::-1]:del a[index]

从后往前删就 OK 了. 这么费劲, 是为了 id(a) 保持不变, 这在某些特定的地方会用到.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql server紧急状态下登录脚本

--打开xp_cmdshell功能 EXEC [sys].[sp_configure] configname xp_cmdshell, -- varchar(35)configvalue 1 -- int 4 RECONFIGURE WITH override--修改注册表,修改身份验证为混合验证方式 USE [master] GOEXEC xp_instance_regwrite NHKEY_LOCAL_MACHINE, NSoftwa…

第一次项目之后...

从开始学习php不知不觉已经过去两个多月了,其中经历了各种各样以前没有经历过的生活和学习,在将近三个月的学习生活中我完成了第一个php项目。要说感觉,还真有些奇特,从开始连php是什么到现在能够亲手写出一个像模像样的网站就好像…

查询时拼接两列数据_如何用VBA代码查询两列数据差异?

爱就一个字,我只说一次……北京市第三交通委提醒您:代码千万条,注释第一条,命名不规范,修订两行泪……咳,给大家拜晚年了,再提前祝大家元宵快乐……我们今天和大家分享的内容是如何用VBA代码查询…

setTimeout详解

https://www.cnblogs.com/wzndkj/p/7069331.html 一、setTimeout基础 setTimeout(func|code,delay);第一个参数表示将要推迟的函数名或者一段代码,第二个参数表示推迟执行的毫秒数eg: console.log(1); setTimeout(console.log(2),1000); console.log(3);answer: 1 3…

Kappa电商负责人顾皓澜:电商业务一直保持盈利

Kappa电商负责人顾皓澜(TechWeb配图) 【TechWeb报道】10月初,闹得沸沸扬扬的淘宝商城事件吸引了无数互联网用户的目光,处于漩涡中心的淘宝商城当仁不让地挤入话题排行榜,商城上大小卖家的命运也牵动了众多消费者的心。…

python abs(3+4j)_表达式 abs(3+4j) 的值为 ____________ 。_学小易找答案

【单选题】REHL6/Centos6中重启网络服的命令是( ) 【单选题】在故障分析时,对变压器,以下说法不正确的是( ) 【填空题】表达式 chr(ord(A)+1) 的值为 ____________________ 。 【填空题】 【简答题】 【简答题】请提交实验报告 【单选题】电力系统发生三相短路时,短路电流知包含…

Citrix VDI-in-a-Box 第二篇:架构篇

前言:为什么Citrix会收购Kaviza,就是因为其VDI-in-a-Box产品架构比较简单。 本文重点描述其架构和安装要求。 如果你想了解一个东西,首先必须了解其架构。 vdiManager是管理整个架构的工具,所有的虚拟机都运行在Hypervisor上。整 …

看完此文再不懂区块链算我输,用Python从零开始创建区块链

如果你还没有听说过 3 点钟区块链群,说明你还不是链圈的人;如果你还没有加入 3 点钟区块链群,说明你还不是链圈的大佬;如果你还没有被 3 点钟区块链群刷屏,说明你还体会不到什么是“币圈一天,人间一年”。 …

重新加一个window_Activity、View、Window关系,进程间通信,责任链模式,Https,数据存储...

码仔,今天就给大家带来了《每日一道面试题》的第九期:01理解Activity View window的关系 Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图)LayoutInflater像剪刀,Xml配置像窗花图纸。 Activ…

Maven项目编译工具的使用

Java项目中最常用的编译工具是Ant,Ant解析XML配置文件,即build.xml,执行Target来实现用户目标的编译工作。Maven也是一个非常好用的编译工具,Maven类似于Ant也是有一个配置文件来配置编译信息,即pom.xml. 本文简要描述…

排他网关(ExclusiveGateWay)

网关(ExclusiveGateWay) 作者:邓家海2018年3月11日 00:13:25 情景:某一家公司最近在给一个单位做一个财务审批的OA。具体需求是这样的:当部门申请的金额小于一万块的时候,财务部可以直接决策。当部分申请的金额大于一万…

离线安装宝塔lnmp_宝塔LNMP环境 Nginx安装EduSoho教程说明

[toc]宝塔下使用LNMP Nginx安装EduSoho创建站点 宝塔后台 > 网站 > 添加站点 > 输入信息 > 提交填写信息创建完成设置运行目录 宝塔后台 > 网站 > 管理运行目录选择web目录后保存 网站目录 > 运行目录 > 保存修改配置文件 配置文件 > 修改参数 >…

NHibernate初学者指南(10):一级和二级缓存

一级缓存 为了获得更好的性能,NHibernate智能地缓存数据。NHibernate有不同的缓存机制起作用,最重要的就是一级缓存。每个session对象维持一个一级缓存,session对象创建时缓存创建,session对象释放时缓存销毁。 缓存只不过是一个哈…

Freemarker模板引擎

模板引擎的实质就是将页面结构提前写好,然后将数据渲染到模板上生成一个静态页面,这样一来,下次就可以 直接访问静态文件,不用进行额外的获取数据的操作(例如:访问数据库),这样大大提…

postgresql主从备份_基于windows平台的postgresql主从数据库流备份配置

基于windows平台的postgresql主从数据库流备份配置因工作需要,需要搞pg数据库的主从备份,领导给了个方向使用流备份,于是开始朝着这个方向进发。鸣谢大佬A_ccelerator的博客一、配置主从库1.环境准备对于 pg 的主从库配置,建议是使…

msvcrt.lib和LIBCD.lib链接冲突

今天在移植一个开源代码到windows的VC6工程,编译时出现了这些奇怪的LINK错误。 msvcrt.lib(MSVCRT.dll) : error LNK2005: _toupper already defined in LIBCD.lib(toupper.obj)msvcrt.lib(MSVCRT.dll) : error LNK2005: _tolower already defined in LIBCD.lib(to…

10.static_extern

另一个文件声明 #include <iostream> using namespace std; int x 10;void show() {cout << "1234" << endl; } 本文件使用 1 #include <iostream>2 using namespace std;3 //引用外部全局变量4 extern int x;5 6 //只能在当前文件使用7 st…

jq获取最后一个子节点_如何选择jQuery中的最后一个子元素?

牧羊人nacy如果要选择最后一个子元素&#xff0c;并且需要具体说明元素类型&#xff0c;则可以使用选择器last-of-type这是一个例子&#xff1a;$("div p:last-of-type").css("border", "3px solid red");$("div span:last-of-type").…

基于智能的网络空间安全防御

在RSA2011中国大会上&#xff0c;赵粮博士发表了一个题为“Intelligence Based Cyber Defense”的演讲。 赵博士指出&#xff1a;传统的、围绕边界的城堡防御模式&#xff0c;已经越来越难以适应业务发展的需求&#xff0c;安全运维团队往往陷入到日常安全运营中&#xff0c;难…

面向对象 - 继承/组合 - 总结

面向对象 - 继承:1.继承: 类与类之间的关系 什么是什么的关系 eg:人是动物 狗是动物 功能: 解决代码重用问题, 创建新类的方式, 类: 可继承一个或多个父类: 父类 基类/超类 类 派生类/子类 类: 对象之间相似的特征 父类:…