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

知乎上有人提问,为什么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.mzph.cn/pingmian/12996.shtml

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

相关文章

四、基于Stage模型的应用架构设计

前面我们了解了如何构建鸿蒙应用以及开发了第一个页面,这只是简单的demo;那么如何去设计,从0到1搭建一个真正的应用呢 一、基本概念 1、Stage模型基本概念 Stage模型概念图 AbilityStage:是一个Module级别的组件容器&#xff0…

Linux---编辑器vim的认识与简单配置

前言 我们在自己的电脑上所用的编译软件,就拿vs2022来说,我们可以在上面写C/C语言、python、甚至java也可以在上面进行编译,这种既可以用来编辑、运行编译,又可以支持很多种语言的编译器是一种集成式开发环境,集众多于…

海外住宅IP介绍

住宅IP,通俗的来讲就是分配给家庭的IP地址,ISP默认分配用户为家庭用户,其真实性与安全性都有一定保障。海外住宅IP是指由海外互联网服务提供商分配给家庭用户的IP地址,IP地址通常是静态的,稳定的,可以为用户…

vue3专栏项目 -- 四、前后端结合(上)

一、前后端分离是什么 前面我们一直在和静态数据打交道,虽然流程可以跑个半通,但是静态数据还是给我们造成了诸多不便,现在我们是时候用上后端了。 现在的应用开发模式,自从SPA出现以后,前端和后端可以平行的进行对应…

【动态规划五】回文串问题

目录 leetcode题目 一、回文子串 二、最长回文子串 三、分割回文串 IV 四、分割回文串 II 五、最长回文子序列 六、让字符串成为回文串的最少插入次数 leetcode题目 一、回文子串 647. 回文子串 - 力扣(LeetCode)https://leetcode.cn/problems/…

5.15_操作符详解

1、操作符分类&#xff1a; 算术操作符 - * / % 移位操作符 << >> 位操作符 & | ^ 赋值操作符 - ...... 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员 2、算术操作符 - * / …

将TailwindCSS默认单位rem转换为px

前言&#xff1a; 我这里需要将 默认的rem 转换为 px 原因是要使用 postcss-px-to-viewport 插件做移动端适配。 在tailwind.config.js文件中进行配置&#xff1a; 注意&#xff1a;这里 padding&#xff08;内边距&#xff09;、spacing&#xff08;外边距&#xff09;、width…

Spacy的安装与使用教程

官网安装指导教程 https://spacy.io/usage 安装指令 需要根据自己系统的cuda版本选择 nvcc -V pip install -U pip setuptools wheel pip install -U spacy[cuda12x] python -m spacy download zh_core_web_sm python -m spacy download en_core_web_sm

【Linux】系统登录,调用shell,shell配置文件,shell命令,特殊符号,shell快捷键,Linux运行级别,解决无限登录问题,修改提示符

目录 Linux系统的登录方式 以及 调用shell Linux shell 以及 shell配置文件 shell 命令 shell 特殊符号 shell 快捷键 Linux操作系统运行级别 单用户模式下解决无限登录问题 centos7修改命令行提示符 PS1 补充、centos7没有滚动条 Linux系统的登录方式 以及 调用shell…

vue3.0+antdv的admin管理系统vue-admin-beautiful推荐

前言 几年前&#xff0c;笔者自学了vue这一优秀的前端框架&#xff0c;但苦于没项目练手&#xff0c;无意间发现了vue-admin-beautiful这一优秀的前端集成框架。当时就使用它做了一很有意思的小项目---终端监控云平台&#xff0c;实现了前端和后台的整体功能。整体方案介绍参见…

查询新加 字段不返回数据要看 有没有 AllInfoResultMap 有要再里面加字段

查询新加 字段不返回数据要看 有没有 AllInfoResultMap 有要再里面加字段

HTTP客户端手动解析响应体数据

服务端 package mainimport ("easyGo/person""encoding/json""net/http" )func main() {http.HandleFunc("/test", func(w http.ResponseWriter, r *http.Request) {p : &person.Person{Name: "jackie",Age: 30,T: pe…

操作系统-单片机进程状态问题(三态模型问题)

例题&#xff1a;在单处理机计算机系统中有1台打印机、1台扫描仪&#xff0c;系统采用先来先服务调度算法。假设系统中有进程P1、P2、P3、P4&#xff0c;其中P1为运行状态&#xff0c;P2为就绪状态&#xff0c;P3等待打印机&#xff0c;P4等待扫描仪。此时&#xff0c;若P1释放…

Java并发编程VarHandle类

Java 的 VarHandle 是在 Java 9 中引入的一种新机制&#xff0c;旨在提供对变量&#xff08;包括对象字段、数组元素和静态变量&#xff09;的可变引用和非阻塞操作。VarHandle 主要用于并发编程&#xff0c;提供了一种更灵活且性能更高的方式来进行变量访问和更新操作&#xf…

es6新语法和ajax和json

es6新语法 1.定义变量&#xff1a;let 2.定义常量&#xff1a;const <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

用友GRP-U8 userInfoWeb SQL注入致RCE漏洞复现 (XVE-2024-10539)

0x01 产品简介 用友GRP-U8R10行政事业内控管理软件是用友公司专注于国家电子政务事业,基于云计算技术所推出的新一代产品,是我国行政事业财务领域最专业的政府财务管理软件。 0x02 漏洞概述 用友GRP-U8R10行政事业内控管理软件 userInfoWeb接口处存在SQL注入漏洞,未授权的…

ADS使用记录之使用RFPro进行版图联合仿真-加入集总元器件

ADS使用记录之使用RFPro进行版图联合仿真-加入集总元器件 ADS使用记录之使用RFPro进行版图联合仿真中已经简单介绍了使用RFPro对版图就行仿真的方法。但是&#xff0c;如果版图中含有一些非微带的结构&#xff0c;比如说电感、电容、晶体管呢&#xff0c;在此举例解释一下。 …

leetcode61-Rotate List

题目 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出&#xff1a;[4,5,1,2,3] 分析 这道题目用快慢指针即可解&#xff0c;先快指针往前走k个位置&#x…

MyBatis中关于resultType和resultMap的区别

在MyBatis中&#xff0c;resultType和resultMap都是用于处理查询结果的&#xff0c;但它们之间存在一些关键的区别。 映射方式&#xff1a; resultType&#xff1a;直接表示返回类型&#xff0c;它通常对应着Java模型对象&#xff08;如POJO&#xff09;中的实体。当查询出来的…

百度:文心大模型日均处理Tokens文本已达2490亿

今日&#xff0c;记者从百度获悉&#xff0c;文心大模型日均处理Tokens文本已达2490亿。百度表示&#xff0c;这几天&#xff0c;国内外多家厂商相继发布大模型最新进展和相关应用&#xff0c;百度很高兴地看到&#xff0c;“闭源大模型公有云”已经成为全球AI市场的主流趋势。…