Python 集合 remove()函数使用详解,删除集合中的元素,删除多个元素

news2024/11/24 8:51:40

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:小白零基础《Python入门到精通》

remove函数使用详解

  • 1、删除多个元素
  • 2、删除不存在的元素会报错
  • 3、删除的元素可以是任意类型
  • 4、remove()和discard()的区别?

remove() 可以「删除」集合中的指定「元素」

语法

set.remove( element )

参数

  • element :(必选)需要删除的元素

返回值

  • None,没有返回值,只修改原数组。

实例:删除集合中的指定元素

set1 = {1, 2, 3, 4, 5}

set1.remove(2)
print(set1)

输出:

{1, 3, 4, 5}

从伪源码(Python的内置函数看不到源码,只能看到函数的描述)中可以看到, remove() 可以「删除」一个元素;但这个元素必须「存在」,不存在就会报错 KeyError

在这里插入图片描述


1、删除多个元素

remove() 只接收「一个参数」,这意味着一次只能删除「一个元素」;删除多个元素会报错 TypeError: remove() takes exactly one argument

set1.remove(1, 2)

在这里插入图片描述

不过,我们可以配合「循环」,删除集合中的“小集合”

set1 = {1, 2, 3, 4, 5, 6}
set2 = {1, 2, 3}

for i in set2:
    set1.remove(i)

print(set1)

输出:

{4, 5, 6}

2、删除不存在的元素会报错

remove() 删除集合中「不存在」的元素时,会报错 KeyError

set1 = {1, 2, 3, 4, 5}
set1.remove(6)

输出:

在这里插入图片描述


3、删除的元素可以是任意类型

remove() 删除的元素可以是「任意类型」,前提是集合可以存储这种类型,比如 整形、字符串、元组。

set1 = {1, 'str', (1, 2)}
set1.remove(1)
set1.remove('str')
set1.remove((1, 2))

print(set1)

输出:

set()


4、remove()和discard()的区别?

remove() discard() 用法相同,都可以删除集合中的指定元素,但 remove() 删除不存在的元素会报错,而 discard() 不会报错。

不确定集合中是否存在该元素时,使用 discard()

set1 = {1, 2, 3}

set1.discard(9)
print(set1)

输出:

{1, 2, 3}

确定集合中存在该元素时,使用 remove()

set1 = {1, 2, 3}

set1.remove(9)
print(set1)

输出:

Traceback (most recent call last):
  File "C:\Users\dell\PycharmProjects\pythonProject1\test1.py", line 3, in <module>
    set1.remove(9)
KeyError: 9

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

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

相关文章

边缘计算对现代交通的重要作用

边缘计算之所以重要&#xff0c;是在于即使在5G真正商用之时&#xff0c;可以实现超大带宽&#xff08;eMBB&#xff09;的应用场景&#xff0c;但庞大数据量的涌现也就意味着需要在云和端传输过程中找到一个承接点&#xff0c;对数据进行预处理再选择是否上云。 边缘计算应用演…

C++ - stack 和 queue 模拟实现 -认识 deque 容器

stack模拟实现 用模版实现 链式栈 和 顺序栈 对于stack 的实现&#xff0c;有两种方式&#xff0c;一种是连续空间存储的顺序栈&#xff0c;一种是不连续空间存储的链式栈&#xff0c;在C当中如果要使用两种不同的栈的话&#xff0c;实现方式是不一样的&#xff0c;他们的底层逻…

新型双功能整合剂2374782-03-1,NOTA-FAPI-04,具有良好的配位和整合能力

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ NOTA-FAPI-04&#xff0c;大环化合物-FAPI-04 PART1----产品结构式 PART2----产品规格 1.CAS号&#xff1a;2374782-03-1 2.分子式&#xff1a;C36H47F2N9O8 3.分子量&#xff1a;771.8238 4.沸点 1061.865.0 C(Predicted)…

Unity自定义后处理——Tonemapping色调映射

大家好&#xff0c;我是阿赵。   继续介绍屏幕后处理&#xff0c;这一期介绍一下Tonemapping色调映射 一、Tone Mapping的介绍 Tone Mapping色调映射&#xff0c;是一种颜色的映射关系处理&#xff0c;简单一点说&#xff0c;一般是从原始色调&#xff08;通常是高动态范围&…

Langchain 集成 Milvus

Langchain 集成 Milvus 1. 安装 Docker2. 部署 Milvus3.4. Langchain 集成 Milvus 1. 安装 Docker refer: https://docs.docker.com/engine/install/centos/ Milvus 会以容器方式启动&#xff0c;所以先安装 Docker。(本示例使用的是 Alma Linux 9.2) 卸载旧版本&#xff0c…

文件上传--题目

之前有在技能树中学过文件上传&#xff0c;正好借这次进行一个整合&#xff1a; 技能树中所包含的题目类型有 无限制绕过 1.上传一句话木马 2.链接中国蚁剑 前端验证 1.会发现这个网站不让提交php&#xff0c;改后缀为jpg格式&#xff0c;再用burp抓包 2.在用中国蚁剑连接 .…

Python Web 开发及 Django 总结

title: Python Web 开发及 Django 总结 date: 2023-07-24 17:26:26 tags: PythonWeb categories:Python cover: https://cover.png feature: false Python 基础部分见&#xff1a;Python 基础总结 1. 创建项目 1.1 命令行 1、下载安装 Django 在终端输入 pip install djan…

SpringBoot——内置数据源

简单介绍&#xff1a; 在之前我们介绍SpringBoot的数据层解决方案的时候&#xff0c;曾说到过在数据层是由数据源&#xff0c;持久化技术和数据库组成的&#xff0c;之前我们一直使用的都是DruidMyBatisMySQL组合的解决方案。这三种方案在之前我们都介绍过如何整合以及基础的使…

Django模型将模型注释同步到数据库

1、安装django-comment-migrate库 pip install django-comment-migrate 2、将库注册到settings.py文件中 INSTALLED_APPS [...django_comment_migrate, # 表注释... ] 3、加注释 3.1、给模型&#xff08;表&#xff09;加注释 在模型的class Meta中编辑 verbose_name&…

嵌入式:QT Day2

一、继续完善登录框&#xff0c;当登陆成功时&#xff0c;关闭登陆页面&#xff0c;跳转到新的界面中 源码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug> //用于打印输出 #include <QIcon> …

部署 cacti 监控系统

Cacti Cacti&#xff08;流量和性能监测为主&#xff09; Cacti 在英文中的意思是仙人掌的意思&#xff0c;Cacti 是一套基于 PHP、MySQL、SNMP 及 RRDTool 开发的网络流量监测图形分析工具。它通过 snmpget 来获取数据&#xff0c;使用 RRDtool 绘画图形&#xff0c;而且你完…

LiveGBS流媒体平台GB/T28181常见问题-国标设备列表没有数据海康大华宇视华为监控摄像机NVR硬件设备注册不上来如何排查?

LiveGBS中国标设备列表没有数据海康大华宇视华为监控摄像机NVR硬件设备注册不上来如何排查&#xff1f; 1、国标设备列表看不到注册上来的设备2、检查方式2.1、检查设备注册信息2.2、检查服务器防火墙 3、尝试配置免密接入3.1、基础配置->白名单3.2、添加白名单 4、更多排查…

C# 目标平台为x64,自定义控件不可用,显示控件未能加载,错误解决方法

由于项目加载第三方的dll需要编译成x64&#xff0c;设置编译目标为x64 结果打开窗口设计器时&#xff0c;自定义的控件不能显示及加载 错误消息&#xff1a;未能找到类型“XXX”。请确保已引用包含此类型的程序集。如果此类型为开发项目的一部分&#xff0c;请确保已使用针对当…

ChatGPT有几个版本,哪个版本最强,如何选择适合自己的?

​ChatGPT就像内容生产界的瑞士军刀。它可以是数学导师、治疗师、职业顾问、编程助手&#xff0c;甚至是旅行指南。只要你知道如何让它做你想做的事&#xff0c;ChatGPT几乎可以提供你要的任何东西。 但重要的是&#xff0c;你知道哪个版本的ChatGPT最能满足你的需求吗&#x…

STM32CubeIDE(I2C)

目录 一、IIC轮询模式 1.1 配置 1.2 编写AHT20驱动 1.2.1 aht20.h 1.2.2 aht20.c 二、I2C中断 2.1 打开中断 2.2 分离读取流程 2.3 在主函数中重新编写读取流程 2.4 在i2c.c中重新定义stm32f1xx_hal_i2c.h中的两个函数 三、I2CDMA 3.1 配置DMA通道 3.2 代码的修改 一…

【优选算法题练习】day9

文章目录 一、DP35 【模板】二维前缀和1.题目简介2.解题思路3.代码4.运行结果 二、面试题 01.01. 判定字符是否唯一1.题目简介2.解题思路3.代码4.运行结果 三、724. 寻找数组的中心下标1.题目简介2.解题思路3.代码4.运行结果 总结 一、DP35 【模板】二维前缀和 1.题目简介 DP…

LeetCode三步问题(动态规划)

LeetCode三步问题&#xff08;动态规划&#xff09; 编写代码代码优化 链接: 三步问题 编写代码 class Solution { public:int waysToStep(int n) {if(n 1 || n 2) return n;vector<int> dp(n1);const int MOD 1e9 7;dp[0] dp[1] 1;dp[2] 2;for(int i 3;i<n…

WEB:file_include

背景知识 php伪协议 文件包含漏洞 php包含漏洞函数 题目 由题目可知这个是文件包含的题目&#xff0c;先用常用的协议先查看一下 payload ?filenamephp://filter/readconvert.base64-encode/resourceflag.php 出现了 发现filter&#xff0c;base64被过滤了 尝试其他协议 …

Elasticsearch监控工具Cerebro安装

Elasticsearch监控工具Cerebro安装 1、在windwos下的安装 1.1 下载安装包 https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.zip 1.2 解压 1.3 修改配置文件 如果需要修改相关信息&#xff0c;编辑C:\zsxsoftware\cerebro-0.9.4\conf\applica…

c语言用冒泡排序模拟实现qsort排序

1、简单介绍冒泡排序 冒泡排序就是两两相邻元素进行比较&#xff0c;如果不满足顺序就进行交换。现有一组整数&#xff0c;将其用冒泡排序实现排序为升序。 假设有这样一组整数&#xff1a;9 8 7 6 5 由此可知&#xff0c;如果一个整型数组有num个元素&#xff0c;则需走num…