为什么Python中会有集合set类型?

news2024/11/23 16:37:18

知乎上有人提问,为什么Python有了列表list、元组tuple、字典dict这样的容器后,还要弄个集合set?

确实set和list、tuple、dict一样,都是python的主要数据类型,它们的作用是不同的。

因为set是数学意义上的集合,拥有唯一和无序的特性,即用来存放没有顺序且无重复的数据,并且元素是不可变的。

这和list、tuple完全不同,这两个能存放相同的元素,且支持索引,有顺序。

set可以很方便的进行并集、差集、交集、补集等的操作,这是其他容器做不到的。

**交集 & **: x&y,返回一个新的集合,包括同时在集合 x 和y中的共同元素。

并集 | : x|y,返回一个新的集合,包括集合 x 和 y 中所有元素。

差集 - : x-y,返回一个新的集合,包括在集合 x 中但不在集合 y 中的元素。

补集 ^ : x^y,返回一个新的集合,包括集合 x 和 y 的非共同元素。

所以总结set的两个重要作用:

1、消除重复元素

2、关系测试(各种集)

说起来,set和dict有点像,元素都是无序、唯一,且使用花括号{}来定义。

当然set作用和dict完全不一样,不能混为一谈,dict用来存放键值对的。是很特殊的存在。

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

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

相关文章

战网国际服加速器用哪个好 暴雪战网好用加速器介绍

战网国际版,又称Battle.net环球版,是暴雪娱乐操盘的全球性游戏互动平台,它跨越地理界限,服务于全球游戏爱好者。与地区限定版本相异,国际版赋予玩家自由进入暴雪旗下众多经典游戏的权利,无论身处何方&#…

使用C++实时读取串口数据(window使用已编译LibModbus库并用QT实现一个实时读取串口数据)

Modbus协议简介: 在工业自动化领域,Modbus协议是一个应用层通讯协议,它为电子设备之间的通信提供了一个常用的标准方法。Modbus协议最初由Modicon公司(现为施耐德电气的一部分)在1979年发明用于其可编程逻辑控制器&…

AIGC行业现在适合进入吗

AIGC行业目前正处于快速发展阶段,市场需求正处于爆发期,上大学网(www.sdaxue.com)认为,对于有兴趣的个人或企业而言,现在可能是一个适合进入的时机,以下是具体的分析,供大家参考! 一、AIGC行业前…

java医院信息系统HIS源码SaaS模式Java版云HIS系统 接口技术RESTful API + WebSocket + WebService

java医院信息系统HIS源码SaaS模式Java版云HIS系统 接口技术RESTful API WebSocket WebService 云HIS是基于云计算的医疗卫生信息系统(Cloud-Based Healthcare Information System),它运用云计算、大数据、物联网等新兴信息技术,…

熬了快两个月,终于拿到了淘天后端offer!

今年的暑期实习挺难找的,很多同学忙了几个月到现在还没有一个offer,真的很常见!没找到暑期实习的同学千万不要太焦虑,可以留意留意日常实习,日常实习也找不到,那就去完善自己的项目经历,认真准备…

软件工程期末复习(8)需求的表达方法和状态转换图

需求的表达方法 系统模型 需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统 “做什么” 的问题 通常软件开发项目是要实现目标系统的物理模型。目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而…

苹果电脑里面的资料为什么不能拷贝到硬盘 mac硬盘权限限制怎么解决 mac东西拷不进硬盘怎么办

你在使用Mac电脑的时候有没有遇到过文件无法拷贝的情况呢?这种情况多见于Mac电脑使用U盘或者移动硬盘的时候,不少用户都发现:可以正常读取U盘里的数据但是无法拷贝文件进去,为什么会有这种情况呢? 一、mac东西拷不进硬…

macbook同时配置github,gitlab,gitee

背景:我的本地环境之前已经配置了github与gitlab的共存,现在想要添加一个gitee的项目,我的全局的账号和邮箱配置已经配置为了gitlab的账号邮箱,下边新增gitee的配置时没有对这一块儿的变更。新增了gitee后,我也对gitla…

webpack优化构建速度示例-IgnorePlugin:

IgnorePlugin是webpack的一个内置插件,允许你忽略某些特定的模块或文件 webpack.config.jsconst config {entry: ./src/index.js,output: {filename: main.js},mode: development, }module.exports config;src/index.js import moment from moment console.log(mo…

汽车工厂安灯系统能够快速知晓生产现场的状况

汽车工厂是一个庞大的生产系统,其中有数以百计的工人、机器和设备在不断运转,以确保汽车的生产顺利进行。在如此复杂的生产环境中,安全是至关重要的,而安灯系统正是一个能够帮助汽车工厂快速知晓生产现场状况的重要工具。 安灯系统…

程序在银河麒麟系统下实现开机自启及创建桌面快捷方式

目录 1. 机器环境说明 2. 程序开机自启动设置 2.桌面快捷方式设置 3. 附加说明 1. 机器环境说明 机器安装的银河麒麟操作系统属性如下: 2. 程序开机自启动设置 第1步:编写一个脚本,用于自动化启动,为便于后文描述,该脚本名称…

84.网络游戏逆向分析与漏洞攻防-游戏技能系统分析-筛选与技能有关的数据包

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

失业焦虑如何缓解心情?流静冥想

失业焦虑如何缓解心情?人生旅途,失业犹如山重水复,焦虑似迷雾遮望眼。古语云:“山不厌高,海不厌深。”心之向往,冥想便是那披荆斩棘之斧,如何带你走出困境? “静以修身”&#xff0c…

IT行业的革新力量:技术进步与未来展望

在当今时代,信息技术(IT)行业无疑是全球经济的重要推动力之一。随着数字化转型的不断深入,IT行业的边界正在扩大,它不仅包括传统的软硬件开发、网络建设和运维服务,还涵盖了云计算、大数据、人工智能&#…

文件系统和软硬连接

一、磁盘 磁盘可以存储大量的二进制数据,并且断电后也能保持数据不丢失。因此磁盘是一种永久性存储介质,在计算机中,磁盘是一个外设,也是唯一的机械设备。既然磁盘是一个外设,那么就意味着,磁盘和内存&…

时间序列预测:探索性数据分析和特征工程的实用指南

时间序列分析是数据科学和机器学习领域最广泛的主题之一:无论是预测金融事件、能源消耗、产品销售还是股票市场趋势,这一领域一直是企业非常感兴趣的领域。 随着机器学习模型的不断进步,使除了传统的统计预测方法(如回归模型、ARIMA模型、指数平滑)外&a…

C++语法|对象的浅拷贝和深拷贝

背景&#xff1a; 我们手写一个顺序栈&#xff0c;展开接下来的实验&#xff1a; ⭐️ this指针指向的是类在内存中的起始位置 class SeqStack { public:SqeStack(int size 10) {cout << this << "SeqStack()" << endl;pstack_ new int[size_];t…

APP封装后防止破解的全方位策略

移动应用开发完成后&#xff0c;封装&#xff08;编译打包&#xff09;是发布前的重要步骤。然而&#xff0c;一旦APP发布&#xff0c;就可能面临被逆向工程破解的风险&#xff0c;从而导致源代码泄露、数据被盗取等严重后果。 本文将介绍一系列实用的策略和技术&#xff0c;帮…

Linux初学1

Unix unix和LInux的关系 LInux的吉祥物tux Nginx Directoryhttps://mirror.iscas.ac.cn/centos/7/isos/x86_64/redhat7 网络连接 桥接模式&#xff1a;虚拟系统可以和外部系统通讯&#xff0c; 你自家里折腾当然桥接没问题&#xff0c;如果一个教室里全都用桥接&#xff1…

Unity | Spine动画动态加载

一、准备工作 Spine插件及基本知识可查看这篇文章&#xff1a;Unity | Spine动画记录-CSDN博客 二、Spine资源动态加载 1.官方说明 官方文档指出不建议这种操作。但spine-unity API允许在运行时从SkeletonDataAsset或甚至直接从三个导出的资产实例化SkeletonAnimation和Skel…