Python中集合的基本用法

在Python中,集合是一种基本的数据结构,用于存储无序且唯一的元素。它们在某些方面与列表相似,但也有几个关键的区别。本文将介绍集合的基本用法,包括集合和列表的区别、如何创建集合、添加或删除元素,以及如何清空一个集合。

集合和列表的区别

集合(set)和列表(list)都是Python中用于存储多个元素的数据结构。它们的主要区别在于:

  • 集合中的元素是唯一的,不允许重复,而列表可以包含重复的元素。
  • 集合是无序的,这意味着集合中的元素没有固定的顺序,而列表中的元素是有序的。

创建集合

创建集合可以使用大括号 {} 或者 set() 函数。值得注意的是,创建空集合只能使用 set(),因为 {} 用于创建空字典。

# 使用大括号创建集合
my_set = {1, 2, 3}
print(my_set)  # 输出: {1, 2, 3}# 使用set()函数创建集合
my_set = set([1, 2, 3])
print(my_set)  # 输出: {1, 2, 3}

添加元素

向集合中添加元素可以使用 add() 方法,如果添加的元素已经存在于集合中,则操作不会有任何效果。

my_set.add(4)
print(my_set)  # 输出: {1, 2, 3, 4}

删除元素

从集合中删除元素可以使用 remove() 或 discard() 方法。remove() 方法在元素不存在时会引发错误,而 discard() 方法则不会。

my_set.remove(2)
print(my_set)  # 输出: {1, 3, 4}my_set.discard(5)  # 不存在的元素,不会引发错误
print(my_set)  # 输出: {1, 3, 4}

清空集合

清空集合中所有元素可以使用 clear() 方法。

my_set.clear()
print(my_set)  # 输出: set()

以上就是Python中集合的基本用法。集合提供了一种高效的方式来处理唯一性问题,并且由于其无序的特性,在某些情况下可以提供比列表更优的性能。希望这篇博客能帮助你更好地理解和使用Python中的集合。

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

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

相关文章

【Numpy】练习题100道(76-100题完结)

🌻个人主页:相洋同学 🥇学习在于行动、总结和坚持,共勉! #学习笔记# Git-hub链接 题目列表(题解往下翻) 76.考虑一个一维数组Z,构建一个二维数组,其第一行为(Z[0],Z[…

【鸿蒙HarmonyOS开发笔记】组件编程技巧之使用@Builder装饰器实现UI结构复用

概述 当页面有多个相同的UI结构时,若每个都单独声明,同样会有大量重复的代码。为避免重复代码,可以将相同的UI结构提炼为一个自定义组件,完成UI结构的复用。 除此之外,ArkTS还提供了一种更轻量的UI结构复用机制Build…

小白DB补全计划Day1-LeetCode:SQL基本操作select

前言:找工作(主人)的任务罢了 链接:1757. 可回收且低脂的产品 - 力扣(LeetCode) 584. 寻找用户推荐人 - 力扣(LeetCode) 来源:LeetCode 对DB篇的SQL章不太知道怎么写…

数学建模-估计出租车的总数

文章目录 1、随机抽取的号码在总体的排序 1、随机抽取的号码在总体的排序 10个号码从小到大重新排列 [ x 0 , x ] [x_0, x] [x0​,x] 区间内全部整数值 ~ 总体 x 1 , x 2 , … , x 10 总体的一个样本 x_1, x_2, … , x_{10} ~ 总体的一个样本 x1​,x2​,…,x10​ 总体的一个样…

mysql与redis数据测试

题目要求 1.新建一张user表,在表内插入10000条数据。 2.①通过jdbc查询这10000条数据,记录查询时间。 ②通过redis查询这10000条数据,记录查询时间。 3.再次查询这一万条数据,要求根据年龄进行排序,mysql和redis各实现…

一种不需要客户端ip的命令行远程工具

项目地址:Academy remote system: 一种不需要客户端ip的命令行远程工具 - Gitee.com 项目介绍: 传统的远程命令行工具如ssh,scp都需要目标服务器的ip才可以连接。 我设计的这款命令行远程工具可以基于多个中间服务器进行远程,而…

【FPGA/IC】什么是模块化设计?

什么是模块化设计 FPGA/IC设计中根据模块层次的不同有两种基本的设计方法: 自下而上方法对设计进行逐次划分的过程是从基本单元出发的,设计树最末枝上的单元是已经设计好的基本单元,或者其他项目开发好的单元或者IP。该方法先对底层的功能块…

AI解答——DNS、DHCP、SNMP、TFTP、IKE、RIP协议

使用豆包帮助我解答计算机网络通讯问题—— 1、DHCP 服务器是什么? DHCP 服务器可是网络世界中的“慷慨房东”哦🤣 它的全称是 Dynamic Host Configuration Protocol(动态主机配置协议)服务器。 DHCP 服务器的主要任务是为网络中的…

探索发布-订阅模式的深度奥秘-实现高效、解耦的系统通信

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自:探索设计模式的魅力:探索发布-订阅模式的深度奥秘-…

Jest:JavaScript的单元测试利器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

作品展示ETL

1、ETL 作业定义、作业导入、控件拖拽、执行、监控、稽核、告警、报告导出、定时设定 欧洲某国电信系统数据割接作业定义中文页面(作业顶层,可切英文,按F1弹当前页面帮助) 涉及文件拆分、文件到mysql、库到库、数据清洗、数据转…

Vue mqtt 附在线mqtt客户端地址 + 完整示例

mqtt:轻量级物联网消息推送协议。 目录 一、介绍 1、官方文档 1)npm网 2) 中文网 MQTT中文网_MQTT 物联网接入平台-MQTT.CN 2、官方示例 二、准备工作 1、安装依赖包 2、示例版本 三、使用步骤 1、在单页面引入 mqtt 四、完整示例 tips 一、介…

渐开线花键环规的几种加工方法

小伙伴们大家好,今天咱们聊一聊渐开线花键环规的几种加工方法。 渐开线花键环规是在汽车、摩托车以及机械制造工业应用非常广泛的一种检测量具。它属于是一种内花键齿轮,其精度和表面粗糙度要求都比较高。采用的加工方法也比较多,下面详细看…

Python实战:网络请求库requests使用教程

1. 引言 在Python编程中,网络请求是常见且重要的操作之一。requests是Python中最流行的网络请求库之一,它基于urllib3,提供了简单的API来发送HTTP请求。requests库简化了HTTP通信的过程,使开发者能够轻松地发送请求、处理响应和处…

【爬虫逆向】Python逆向采集猫眼电影票房数据

进行数据抓包,因为这个网站有数据加密 !pip install jsonpathCollecting jsonpathDownloading jsonpath-0.82.2.tar.gz (10 kB)Preparing metadata (setup.py) ... done Building wheels for collected packages: jsonpathBuilding wheel for jsonpath (setup.py) .…

Android VINF

周末搞这玩意欲仙欲死,没办法只有看看。VINTF是供应商接口对象(VINTF 对象),准确的说,这个是属于兼容性矩阵概念。。。有点想起了以前看过的一个电影,异次元杀阵。。。下面是谷歌官方的图。 本质上其实就是…

Go语言-关于 go get 和 go install

Go语言-关于 go get 和 go install 一直以来,我们通常都是通过 go get 来下载并安装包的。但从 Go 1.16 起,不推荐通过 go get 来安装包(主要是说安装可执行文件),也就是说,go get 应该只是用来下载包&…

面试算法-41-打家劫舍

题目 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放…

C++之类和对象(3)

目录 1. 再谈构造函数 1.1 构造函数体赋值 1.2 初始化列表 1.3 explicit 2. static成员 2.1 概念 3. 友元 3.1 友元函数 3.2 友元类 4. 内部类 5. 匿名对象 6. 拷贝对象时编译器做出的优化 1. 再谈构造函数 1.1 构造函数体赋值 class Date { public:Date(int year2024…

Helm Chart部署最简SpringBoot到K8S(AWS EKS版)

目标 这里假设,我们已经基本会使用k8s的kubectl命令进行部署了,也已经会自己打docker镜像推送到AWS ECR上面去了。而且,已经在云上准备好了AWS ECR镜像库和AWS EKS的k8s集群了。 这个前提上面,我们今天使用Helm Chart项目准备k8s…