Python | 判断集合成员(set作为哈希表)(集合)

  • set的概念和特点
  • set的基本操作,比如创建、插入、删除、查找
  • set的常用方法

集合:

        也是一种数据结构,和数学中的集合类似,它

于存储一组不重复的元素,并且不保证元素的顺序。查找通常是集合最重要的操作。

        1.可以使用大括号{}创建集合,元素与元素之间使用逗号,分隔。

my_set = {1, 2, 3}

        2.或者可以使用set()函数创建集合,或者是列表转为集合

my_set1 = set([1, 2, 3])
#创建空结合
my_set2 = set()

使用in关键字判断某个元素是否在集合中

my_set = {"Tom", "Jerry", "Mike"}
# 判断元素是否在集合中
if "Tom" in my_set:

集合可以自动去重

my_list = [1, 2, 3, 3, 4, 5, 5]
my_set = set(my_list)  # 将列表转换为集合,去除重复元素
unique_list = list(my_set)  # 将集合转换回列表, 此时列表是[1,2,3,4,5]

集合求交并差集合

set1 = {1, 2, 3}
set2 = {3, 4, 5}
u_set = set1 | set2  # 并集,现在集合是{1, 2, 3, 4, 5}
i_set = set1 & set2  # 交集, 现在集合是 {3}
d_set = set1 - set2  # 差集, 表示存在于集合1中,但不存在于集合2中的元素,{1, 2}

集合的常见使用方法

除了以上两种常见的操作,set还提供了一些常见方法方便使用,主要包括的就是集合的增删和遍历操作。

  1. 添加元素:使用add()方法可以向集合中添加单个元素。
  2. 移除元素:使用remove()或者discard()方法可以从集合中移除指定元素, 它们之间的区别在于当移除一个集合中不存在的元素时,remove()会引起异常,而discard()不会。
  3. 集合长度:使用len()函数可以获取集合的元素个数。
  4. 清空集合:使用clear()方法可以清空集合中的所有元素。
  5. 遍历集合:使用for循环可以遍历集合中的元素。
# 创建集合
set1 = {1, 2, 3}# 向集合添加元素
set1.add(4)# 遍历集合
for element in set1:print(element)# 移除集合元素
set1.remove(3)# 获取集合长度
print(len(set1))# 清空集合中的元素
set1.clear()

k = int(input())
for _ in range(k):m = int(input())nums = set(map(int, input().split()))   # 读取集合中的元素,用空格分隔并转换为整数集合n = int(input())if n in nums:print("YES")else:print("NO")

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

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

相关文章

筛斗数据:数据治理在企业发展中的关键作用

随着信息技术的飞速发展,数据已成为企业最宝贵的资产之一。在这样的背景下,数据治理作为确保数据质量、可用性、一致性和安全性的过程,其重要性日益凸显。本文将探讨数据治理与企业之间的紧密联系,以及如何通过有效的数据治理策略…

centos安装部署Mysql8详细教程

文章目录 一、下载安装1.下载2.安装 二、常见问题1.You must reset your password using ALTER USER statement before executing this statement2.IP is not allowed to connect to this mysql 结尾 提示:以下是本篇文章正文内容,下面案例可供参考 一、…

JL-8B/1111电流继电器 带板前接线附件 约瑟JOSEF

JL-8系列继电器型号: 电流继电器JL-8GB/11 电流继电器JL-8GA/21 过电流继电器JL-8GB/1 电流继电器JL-8B/521DK 电流继电器JL-8B/222DK 电流继电器JL-8B/1121 电流继电器JL-8B/12 电流继电器JL-8B/3211 电流继电器JL-8B/E2 电流继电器JL-8B/E3 过电流继电器JL-…

Python项目实战 - 简易计算器

Python项目实战 - 简易计算器 引言 在Python编程学习中,项目实战是巩固知识、提升技能的重要途径。本次我们将通过构建一个简易的计算器项目来锻炼Python的基础知识,包括变量、函数、条件语句和输入/输出操作。通过这个项目,你将能够深入理…

YOLOv8改进有效涨点专栏目录——包含backbone、head、neck和损失函数上百余种改进技巧

专栏地址:YOLOv8改进有效涨点——持续更新中 backbone——主干 YOLOv8改进 | 主干网络 | 将主干网络替换为轻量化的ShuffleNetv2【原理 完整代码】 YOLOv8改进 | 主干网络 | 增加网络结构增强小目标检测能力【独家创新——附结构图】 YOLOv8改进 | 主干网络 | 在…

大宋咨询(深圳神秘顾客)关于连锁药店神秘顾客检查的内容

药店作为社会公共卫生体系的重要组成部分,其服务质量和药品管理水平直接关系到公众的健康与安全。为了提升药店的服务质量,确保药品的合规销售,神秘顾客调查作为一种有效的评估手段,逐渐在药店行业中得到广泛应用。大宋咨询&#…

基于三元组一致性学习的单目内窥镜里程计估计

文章目录 TCL: Triplet Consistent Learning for Odometry Estimation of Monocular Endoscope摘要方法实验结果 TCL: Triplet Consistent Learning for Odometry Estimation of Monocular Endoscope 摘要 单目图像中深度和姿态的估计对于计算机辅助导航至关重要。由于很难获…

Kafka消费者api编写教程

1.基本属性配置 输入new Properties().var 回车 //创建属性Properties properties new Properties();//连接集群properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,"node1:9092,node2:9092");//反序列化properties.put(ConsumerConfig.KEY_DESERIALIZER_CL…

postgresql根据某个字段去重获取整行数据

背景:在一些情况下我们需要对数据进行去重统计,group by就行,但是一些特殊情况下我们要根据某个字段去重之后获取非聚合字段的值,这个时候在mysql非严格模式下可以直接执行,但是在严格模式和postgresql里面是直接报错的…

vue中数组常用的六种循环方法、VUE中list的各种方法和运用

简单记录一下,常用的六种数组循环的方法,分别是for(),map(),forEach(),filter (),every(),some(); 一、for循环 let data [{name: 张三,age: 10}, {name: 李四,age: 20}, {name: 王五,age: 3…

k8s 对外服务之 Ingress(七层代理)

一 Ingress 简介 理论方面 1, k8s service 作用 对集群内部: 它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制 对集群外部: 对集群外部,他类似负载均衡器&am…

JAVA家政系统小程序源码,家政系统源码,支持店铺入驻接单,师傅入驻接单:专业团队自主研发的一套上门家政APP系统成品源码,支持商用

JAVA家政系统小程序源码,家政系统源码,支持店铺入驻接单,师傅入驻接单:专业团队自主研发的一套上门家政APP系统成品源码,支持商用 家政系统是一套可提供上门家政的系统,可在线预约开荒保洁、上门维修、美容…

Android 如何保证开启debug模式之后再启动

很多时候会需要debug看Android启动时候的一些数据,但很多时候会存在自己开启debug后app已经过了自己要debug的那段代码的时机了。 那么怎么样可以保证一定能让启动后不会错过自己要debug的那段代码执行的时机呢? 可以用下面这行命令,其中co…

废品回收小程序开发,助力商家拓展回收市场

随着互联网的快速发展,废品回收行业也走向了数字化发展,废品回收小程序成为了拓展市场的重要方式。在当下万亿元下的回收市场中,废品回收小程序的发展也能够发挥重要作用,提高市场回收效率,提高大众的回收意识&#xf…

前端开发入门指南:掌握网页设计的第一课

UI设计与前端开发是相辅相成,UI设计可以视觉美化产品界面,而前端开发可以通过代码实现设计稿。作为UI设计师,如果画出来的图片美观方便对前端开发者非常有益。如果设计复比较难以实现,沟通就会变得更加困难。因此,UI设…

Django路由与会话深度探索:静态、动态路由分发,以及Cookie与Session的奥秘

系列文章目录 Django入门全攻略:从零搭建你的第一个Web项目Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解Django ORM深度游&#xff…

Python爬虫之保存图片到本地

Python爬虫之BeautifulSoup保存图片到本地 在网络爬虫的世界里,文字是丰富的养分,而图片则是色彩缤纷的果实。无论你是在收集艺术作品、建立产品目录,还是只是想保存那些令人惊叹的旅行照片,从网页上抓取并保存图片都是一项常见而…

高通开发系列 - 借助libhybris库实现Linux系统中使用Andorid库

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 概述Android代码下载和编译aarch64开发环境libhybris下载和编译libhybris测试验证调用库中的函数概述 我主要是基于…

从函数开始学习ABAP01

从函数开始学习ABAP01 函数接口创建步骤实例1:供应商信息同步相关知识函数的属性DATA定义时TYPE 和LIKE的区别IN CORRESPONDING FIELDS OF TABLE表连接判断内表是否不为空FOR ALL ENTRIES INREAD TABLESY-SUBRCSELECT 关键字运算符CONVERSION_EXIT_ALPHA_OUTPUTCALL…

攻防世界---web---Web_php_unserialize

1、题目描述 2、 3、分析代码 class Demo { private $file fl4g.php; }:定义了一个名为Demo的类,该类有一个私有属性$file,默认值为fl4g.php。 $a serialize(new Demo);:创建了一个Demo类的实例,并对其进行序列化&a…