052、Python 集合及其使用

集合(Set)是一种无序且元素唯一的数据结构,用于存储不重复的元素(即集合具有无序性和互异性两个重要特性)。集合可以用于执行集合操作,如并集、交集、差集等。

定义集合

可以使用大括号 {} 或者 set() 函数来创建集合。注意,如果要创建空集合,必须使用 set(),因为 {} 会创建一个空字典。

# 创建集合
my_set = {1, 2, 3, 4, 5}
print(my_set)

# 创建空集合
empty_set = set()
print(empty_set)

集合操作

添加元素

使用 add() 方法向集合中添加元素,如果元素已经存在,则不会重复添加。

my_set.add(6)
print(my_set)
移除元素

使用 remove() 方法移除集合中的元素,如果元素不存在会引发 KeyError 错误。另一个选项是使用 discard() 方法,它不会引发错误。

my_set.remove(3)
print(my_set)

my_set.discard(10)  # 不会引发错误
集合操作

​ 理解(如图):
请添加图片描述

​ 示例:

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

# 并集
union_set = set1.union(set2) # 使用方法
print(union_set)
print(set1 | set2) # 使用操作符

# 交集
intersection_set = set1.intersection(set2) # 使用方法
print(intersection_set)
print(set1 - set2) # 使用操作符

# 差集
difference_set = set1.difference(set2) # 使用方法
print(difference_set)
print(set1 & set2) # 使用操作符

# 对称差
symmetric_diff_op = set1 ^ set2
print(symmetric_diff_op) # 使用操作符
symmetric_diff_method = set1.symmetric_difference(set2)
print(symmetric_diff_method) # 使用方法

遍历集合

可以使用 for 循环来遍历集合中的元素。

for element in my_set:
    print(element)

其他操作

  • len() 函数返回集合中元素的个数。
  • in 操作符用于检查元素是否存在于集合中。

其它说明:

1、集合底层使用哈希存储(一种高效率存储方法)

2、哈希存储的关键是设计一个好的哈希函数

3、如果一个对象无法计算哈希码,就不能放到集合中,如列表、集合、字典都是可变容器,都无法计算哈希码,因此都不能放到集合中,作为集合的元素。

4、集合和字典通常比列表和元组更高效,因为集合和字典是哈希存储,利用了哈希表来快速定位元素,而列表和元组是顺序存储。

变容器,都无法计算哈希码,因此都不能放到集合中,作为集合的元素。

4、集合和字典通常比列表和元组更高效,因为集合和字典是哈希存储,利用了哈希表来快速定位元素,而列表和元组是顺序存储。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

供应MT7662TUN/C进口芯片现货

长期供应各品牌进口芯片现货: MT7662TUN/C DLPC4421A DLPC4422A DAD2000 IT6634 DDP4421-HV PMD1000 SiHA120N60E AM8280 AM90N06-03B P15F60HP2 MSD6A838UYGN-8-003D 5AGXBA5D4F31C5G MCZ5209SN STM32L431CCT6 PT2833 ES858 TPS74301RGWR CSD18…

Rust自动生成文件解析

目录 一、生成目录解析二、生成文件解析2.1 Cargo.toml2.2 main函数解析 一、生成目录解析 先使用cargo clean命令删除所有生成的文件,下图显示了目录结构和 main.rs文件 使用cargo new testrust时自动创建出名为testrust的Rust项目。内部主要包含一个src的源码文…

IP地址SSL证书申请流程与注意事项

申请IP地址SSL证书的过程相对直接,但涉及几个关键步骤和注意事项。以下是基于现有信息整理的申请流程及注意事项概览: 一、IP地址SSL证书申请流程: PC点此申请:IP SSL证书申请-极速签发 注册填写注册码230918(填写注…

DeepFace ——用于高级人脸识别算法探索与应用

1. 概述 人脸识别作为人工智能和机器学习中的一个活跃领域,长期以来一直在追求模仿甚至超越人类视觉系统的能力。这项技术在安全、监控、身份验证等多个方面都有着广泛的应用,但同时也伴随着隐私、伦理和准确性等社会和文化方面的考量。 Meta&#xff0…

fly-barrage 前端弹幕库(6):实现人像免遮挡

项目官网地址:https://fly-barrage.netlify.app/; 👑🐋🎉如果感觉项目还不错的话,还请点下 star 🌟🌟🌟。 Gitee:https://gitee.com/fei_fei27/fly-barrage&a…

【matlab】绘图插入并放大/缩小子图

参考链接 代码分为两个:绘图代码与magnify.m 绘图代码就是普通的绘图代码,以下为例 %https://zhuanlan.zhihu.com/p/655767542 clc clear close all x 0:pi/100:2*pi; y1 sin(x); plot(x,y1,r-o); hold on y2sin(x)-0.05; y3sin(x)0.05; xlim([0 2*…

ai写真软件有哪些?轻松创造艺术写真照

艺术写真照是艺术与日常之间的桥梁,它将艺术的边界延伸到了我们的日常生活中,让每个人都能够通过AI技术,将平凡的瞬间转化为艺术的永恒。 那AI写真怎么样呢?今天,本文将推荐几款AI写真软件,它们将帮助你轻…

CXL (1)

为什么有CXL CXL说到底 是为了打破内存墙而生的 CXL全称是Compute Express Link, 可以用来连接CPU,以及其他任何计算单元,比如GPU。 CXL和PCIe跑在一样的physical layer上,与PCIe不一样的是,CXL允许CPU和连接的设备共…

csrf漏洞与ssrf漏洞

环境:用kali搭建的pikachu靶场 一.CSRF 1.CSRF漏洞简介 跨站请求伪造(CSRF)漏洞是一种Web应用程序安全漏洞,攻击者通过伪装成受信任用户的请求来执行未经授权的操作。这可能导致用户在不知情的情况下执行某些敏感操作&#xff0…

21、matlab生成脉冲序列:pulstran()函数

1、pulstran()函数 1)语法 语法1:y pulstran(t,d,func,fs) 基于连续函数的采样产生脉冲序列。 语法2:y pulstran(t,d,p) 生成一个脉冲序列,该脉冲序列是向量p中原型脉冲的多个延迟插值的总和。 语法3:y pulstran…

echarts柱状图坐标轴的内容太长导致显示不全的两种解决办法

情况一:坐标上的内容是文字时 width: 60,//将内容的宽度固定 overflow: truncate,//超出的部分截断 truncate: ...,//截断的部分用...代替 情况二:如果纵坐标上是数字 grid: {top: "15%",left: "2%",right: "2%",bottom:…

西贝柳斯终极版2023:Mac上的简易音乐记谱神器,谱写未来

Avid Sibelius Ultimate 2023 for Mac是一款专为Mac用户设计的音乐记谱软件,它以其强大的功能和直观的操作界面,为音乐创作者们提供了一个高效、便捷的创作平台。 一、音乐创作的得力助手 Sibelius Ultimate 2023不仅适用于有抱负的作曲家和词曲作者&a…

OpenCV中的圆形标靶检测——斑点检测算法(一)

1.导读 在上一节内容中我们简要描述了OpenCV中实现圆形标靶检测的API的使用方法,其处理流程可大致分为1)斑点形状的检测,和2)基于规则的斑点形状的过滤与定位。第一步将类似圆斑形状的区域检测出来,但可能存在一些误检测的噪声,第二步则利用圆斑的分布规则(M*N排列)进行…

海外仓系统介绍:一篇文章讲清楚这是什么,怎么选,有哪些坑

所谓的海外仓系统是一种管理海外仓的综合性工具,主要功能体现在海外仓仓储管理、一件代发订单处理、快递物流跟踪、数据统计、财务统计等方面。 因为海外仓的类型比较多,有大型集团化海外仓,起步阶段海外仓和中小型海外仓,家庭仓…

短视频矩阵系统搭建开发,ai智能剪辑系统,矩阵发布,一键管理多个账户

前言: 企业短视频矩阵是企业通过搭建多个短视频平台账号,形成一个多元化的内容传播网络。它旨在通过多平台内容的同步传播,实现企业品牌价值的最大化。短视频矩阵包括抖音、快手、视频号、小红书、百家号等热门短视频平台,其核心…

UTONMOS:元宇宙游戏,散发无尽魅力与可能

在数字世界的浩瀚星海中,utonmos元宇宙游戏宛如一颗璀璨的明珠,散发着无尽的魅力与可能。 utonmos可不单单只是一款游戏,它更是一个令人惊叹的全新虚拟宇宙,急切地等待着你去深入探索和豪迈征服。 在这里,你能随心所欲…

论文写作必备工具大揭秘:提升效率的终极指南

论文写作必备工具大揭秘:提升效率的终极指南 引言 不论你是文科、理工科还是商科的学生,面对论文的压力总是无法逃避的。临近期末,论文写作是不是让你头疼不已?别担心,你既然找到了这篇文章,就说明你渴望…

详解MyBatis(一)

目录 1.JDBC操作示例回顾 2.什么是MyBatis 3.MyBatis入门 3.1准备工作 3.2配置数据库连接字符串 3.3写持久层代码 3.4单元测试 ​4.MyBatis的基本操作 4.1打印日志 4.2参数传递 1.JDBC操作示例回顾 我们学习MySQL数据库时 ,已经学习了JDBC来操作数据库, 但…

企业微信hook接口协议,ipad协议http,一个用户多个标签

一个用户多个标签 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid": "168885xxx599424","userid":0,//用户id"labelid_list":[ //标签id数组0] } 返回示例 {"data…

Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:公路智能巡检解决方案

项目背景 中国公路网络庞大,总里程超过535万公里,高速公路里程位居世界前列。面对基础设施存量的不断增长,公路养护管理已迈入“建管养并重”的新时代。随着养护支出的逐年攀升,如何提升养护效率、降低管理成本,成为亟…