Python删除列表中的多个元素【四种方法】

文章目录

  • 1 使用切片删除多个元素
  • 2 使用列表解析
  • 3 利用romove()函数
  • 4 利用pop()函数

1 使用切片删除多个元素

利用索引进行对应索引元素的删除
改变原始列表

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
del my_list[2:5]  # 删除索引2到4之间的元素
print(my_list)
# [1, 2, 6, 7, 8, 9]

2 使用列表解析

需要要删除的元素或者要删除元素的索引
不改变原始列表,创建新列表

# 1 直接利用删除要素
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
elements_to_remove = [3, 5, 7]
# 循环
my_list = [x for x in my_list if x not in elements_to_remove]
print(my_list)
# [1, 2, 4, 6, 8, 9]
# *****************************************
# 2 利用删除要素的索引
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
elements_to_remove_index = [2, 4, 6]
# 循环
my_list = [x for x in my_list if x not in elements_to_remove_index]
print(my_list)
# [1, 3, 5, 7, 8, 9]
# 3 使用enumerate(),返回列表的【indexs,datas】
lis = ['A','B','C','D','E','F','G']
index_list = [1,2,6]
lis = [temp_data for index, temp_data in enumerate(lis) if index not in index_list]
print('删除后lis的值:%s' %lis)
# 删除后lis的值:['A', 'D', 'E', 'F']

上述两种方法的结果相同

3 利用romove()函数

需要要删除的元素
改变原始列表

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
elements_to_remove = [3, 5, 7]
# 循环去除
for element in elements_to_remove:my_list.remove(element)
print(my_list)
# [1, 2, 4, 6, 8, 9]

4 利用pop()函数

需要要删除的元素的索引
改变原始列表

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
indices_to_remove_index = [2, 4, 6]
# 将索引按照倒序排列
indices_to_remove_index.sort(reverse=True)  # 从后往前删除,避免索引错位
# [6, 4, 2]
for index in indices_to_remove_index:my_list.pop(index)
print(my_list)
# [1, 2, 4, 6, 8, 9]

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

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

相关文章

如何解决新学期分班查询公布难题?试试这个方法

作为教师,我们常常需要进行学生分班管理,这项工作繁琐但至关重要。为了提高工作效率,我们可以利用现代技术开发一款学生分班查询系统。本文将介绍如何设计和开发这个系统。 首先,我们可以选择使用易查分这样的工具来帮助我们管理…

Java多线程(九)

目录 一、synchronized基本特点 二、synchronized加锁工作过程 2.1 无锁 2.2 偏向锁 2.3 轻量级锁 2.4 重量级锁 三、synchronized其他优化操作 3.1 锁消除 3.2 锁粗化 一、synchronized基本特点 开始是乐观锁,如果锁冲突频繁就会转换成悲观锁开始是轻量级锁&#x…

【java】mybatis-plus代码生成

正常的代码生成这里就不介绍了。旨在记录实现如下功能: 分布式微服务环境下,生成的entity、dto、vo、feignClient等等api模块,需要和mapper、service、controller等等分在不同的目录生成。 为什么会出现这个需求? mybatis-plus&am…

概率论:多维随机变量及分布

多维随机变量及分布 X X X为随机变量, ∀ x ∈ R , P { X ≤ x } F ( x ) \forall x\in R,P\{X\le x\}F(x) ∀x∈R,P{X≤x}F(x) 设 F ( x ) F(x) F(x)为 X X X的分布函数,则 (1) 0 ≤ F ( x ) ≤ 1 0\le F(x)\le1 0≤F(x)≤1 &am…

赛码网-triangle(dp) 100%AC代码(C)

———————————————————————————————————— ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大三学生。 ⏩最近在准备秋招,一直在练习编程。 ⏩本篇文章对赛码网的01串的魔法 题目做…

【积水成渊】CSS磨砂玻璃效果和渐变主题色文字

大家好,我是csdn的博主:lqj_本人 lqj_本人_python人工智能视觉(opencv)从入门到实战,前端,微信小程序-CSDN博客 最新的uniapp毕业设计专栏也放在下方了: https://blog.csdn.net/lbcyllqj/category_12346639.html?spm1…

Android AlertDialog标题居中

网上很多做法都是使用setCustomTitle方法实现的,我偏不,因为我已经找到了标题的textView了: 在show了之后可以拿到标题(注意一定是show之后才能拿得到,create之后拿也是空的): TextView title…

优思学院|6西格玛标准值水平是多少?

在质量管理和统计学领域,"6西格玛" 是一个重要的概念,它与产品和流程的质量有着密切的关系。本文将解释"6西格玛"标准值水平是什么,以及它在各个行业中的应用。 什么是6西格玛标准值水平? 理解西格玛 西格…

《练习100》86~90

题目86 # 生成一个包含20个随机整数(100以内)的列表,对其中偶数索引(下标)的数据进行降序排列,奇数索引的元素不变 import random list1 [random.randint(0,100) for _ in range(20)] list2 list1[::2] …

非科班出身的人想要顺利地转型成为编程领域的专业人士的建议

目录 1、具体方法2、成功案列 非科班想要丝滑转码,可以参考下述步骤: 1、具体方法 了解想要从事的领域:比如前端开发、数据分析、产品经理等。通过互联网进行调查,了解这些领域的职责、技能需求、发展前景等。学习基础知识&#…

TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用

TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用 TextBrewer是一个基于PyTorch的、为实现NLP中的知识蒸馏任务而设计的工具包, 融合并改进了NLP和CV中的多种知识蒸馏技术&#xff0…

一键登录助力用户转化率稳步上升

一键登录是什么? 本机号码一键登录验证是一种登录认证方式,通过获取用户手机上的本机号码来验证用户身份,从而实现快捷登录和简化登录流程的目的。 在使用一键登录时,首先需要用户在登录页面选择使用本机号码一键登录&#xff0c…

【Spring Boot】拦截器与统一功能处理

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE进阶 上一篇文章我们讲解了Spring AOP是一个基于面向切面编程的框架,用于将某方面具体问题集中处理,通过代理对象来进行传递,但使用原生Spring AOP实现统一的…

平板选择什么电容笔比较好?ipad手写笔推荐品牌

在现在的生活上,有了iPad平板,一切都变得简单了许多,也让我们的学习以及工作都更加的便利。这其中,电容笔就起到了很大的作用,很多人都不知道,到底要买什么牌子的电容笔?哪些电容笔的性价比比较…

【C语言】11-三大结构之循环结构-2

1. 改变循环的状态 1.1 break 语句 break 语句在之前 switch 语句的学习中已经使用过了,它是用来退出 switch 语句的。在介绍控制语句时也提到了 break 语句可以和 switch 语句搭配使用以及退出循环,在这里我们将会正式学习使用 break 语句退出循环的用法 在之前的例子中,…

myql驱动升级flowable项目启动报错

最近系统升级需要将mysql的驱动升到8.0.27,升级后启动项目发现涉及到工作流的项目报错。Caused by: java.lang.ClassCastException: java.time.LocalDateTime cannot be cast to java.lang.String。报错信息是类型转换异常,我们找到报错的代码。这是因为…

CentOS7 启动谷歌浏览器 java+Selenium+chrome+chromedriver

前言:自己想使用该技术实现自动化抓取音乐,目前在window上运行成功,需要在Linux Centos服务上跑,配置上出现了许多问题,特此记录。 参考文档:CentOS7 安装Seleniumchromechromedriverjava_远方丿的博客-CSD…

后端开发7.轮播图模块【mongdb开发】

概述 轮播图模块数据库采用mongdb开发 效果图 数据库设计 创建数据库 use sc; 添加数据 db.banner.insertMany([ {bannerId:"1",bannerName:"商城轮播图1",bannerUrl:"http://xx:8020/img/轮播图/shop1.png"}, {bannerId:"2"…

篇十一:享元模式:共享细粒度对象

篇十一:“享元模式:共享细粒度对象” 设计模式是软件开发中的重要工具,享元模式(Flyweight Pattern)是结构型设计模式的一种。享元模式旨在通过共享细粒度的对象,减少内存消耗和提高性能。在设计模式学习中…

深入学习 Redis - 主从结构配置、流程、底层原理(全网最详细)

目录 前言 一、主从模式 1.1、概述 1.2、配置 redis 主从结构 1.2.1、复制配置文件,修改 1.2.2、配置主从结构 1.2.3、启动 redis 服务 1.2.4、查看复制状态 1.3、slaveof 命令 1.3.1、断开主从复制关系 1.3.2、切换主从复制关系 1.3.3、只读 1.3.4、网…