Python—集合类型之集合

Python组合数据类型——集合类型:集合 集合是没有value的字典集合中的元素是无序的,元素不可以重复。 阅读详情

集合类型

集合支持成员关系操作符(in)、对象大小计算操作符(len()),支持比较,也支持逻辑操作符

Python提供了两种内置的集合类型:可变的set类型,固定的frozenset类型

只有可哈希运算的对象可以添加到集合中,所有内置的固定数据类型(比如float、frozenset、int、str、tuple)都是可哈希运算的,内置的可变数据类型(比如dict、list、set)都不是可哈希运算的

注意:比较操作符==与!=比较方式是逐项比较,其他比较操作符则进行子集比较或超集比较

集合

集合是0个或多个对象引用的无序组合,对象引用所引用的对象都是可哈希运算的

集合石可变的,可以添加或移除数据项,由于其中的项是无序的,不能分片或按布距分片

函数

set()    #不带参数时将返回一个空集合

注意:非空集合可以不使用set()函数创建,空集合必须使用set()创建,而不能使用空的圆括号来创建 

集合中的每个数据项都是独一无二的,添加重复的数据项固然不会引发问题,但毫无意义,如:set("apple")、set("aple")、{'e', 'p', 'a', 'l'}

集合常用于删除重复的数据项,如:x = list(set(x)),x中的每个字符串都是独一无二的,其存放顺序也是任意的

集合方法与操作符

s.add(x)   #将数据项x添加到集合s中——如果s中尚未包含x
s.clear()  #移除集合s中的所有数据项
s.copy()   #返回集合s的浅拷贝
s.difference(t) s - t  #返回一个其中包含在s中但不在集合t中的所有数据项的集合
s.difference_update(t) s -= t  #移除每一个在集合t但不在集合s中的项
s.discard(x)  #如果数据项x存在于集合s中,就移除该数据项,跟set.remove()相同
s.intersection(t) s & t  #返回一个其中包含所有同时包含在集合t与s中的数据项的集合
s.intersection_update(t) s &= t  #使得集合s包含自身与集合t的交集
s.isdisjoint(t)  #如果集合s与t没有相同的项,就返回True
s.issubset(t) s <= t  #如果集合s与集合t相同,或者是t的子集,就返回True。使用s < t可以测试s是否是t的真子集
s.issuperset(t) s >= t  #如果集合s与集合t相同,或者是t的超集,就返回True。使用s > t可以测试s是否是t的真子集
s.pop()  #返回并移除集合s中一个随机项,如果s为空寂,就产生KeyError异常
s.remove(x)  #从集合s中移除数据项x,如果s中不包含x,就产生KeyError异常,跟set.discard()相同
s.symmetric_difference(t) s ^ t  #返回一个其中包含s与t中的每个数据项,但不包含同时子啊这两个集合中的数据项的集合
s.symmetric_difference_update(t) s ^= t  #使得集合s只包含其自身与集合t的对称差
s.union(t) s | t  #返回一个其中包含集合s中的所有数据项以及在t中而不在s中的数据项的集合
s.update(t) s |= t  #将集合t中每个s中不包含的数据项添加到集合s中
set("pecan") | set("pie") == {'p', 'e', 'c', 'a', 'n', 'i'}
set("pecan") & set("pie") == {'p', 'e'}
set("pecan") - set("pie") == {'c', 'a', 'n'}
set("pecan") ^ set("pie") == {'c', 'a', 'n', 'i'}

集合内涵

语法

{expression for item in iterable}
{expression for item in iterable if condition}
>>>html = {x for x in files if x.lower().endswith((".htm", ".html"))}

固定集合

固定集合是一旦创建后就不能改变的集合

固定集合只能使用frozenset数据类型函数进行创建,不带参数调用时,frozenset()将返回一个空的固定集合,带参数时,将返回该参数的浅拷贝。该函数只接受一个函数

方法

frozenset.copy()
frozenset.difference(t) s - t
frozenset.intersection(t) s & t
frozenset,isdisjoint(t)
frozenset.issubset(t) s <= t
frozenset.issuperset(t) s >= t
frozenset.symmetric_difference(t) s ^ t
frozenset.union(t) s | t

如果将二元运算符应用于集合与固定集合,那么产生结果的数据类型与左边操作数的数据类型一致

f是一个固定集合,s是一个集合,那么f & s将产生一个固定集合,s & f则产生一个集合

使用==与!=等操作符时,操作数的顺序无关紧要,如果两个集合包含相同的项,那么f == s结果为True

集合与固定集合都可以包含固定集合

最小二乘拟合圆:使用拉格朗日乘子法 在本文中,我们将探讨如何使用拉格朗日乘子法来进行最小二乘拟合,并将其应用于拟合一个空间圆。首先,我们需要定义问题。给定一组二维或三维数据点,我们的目标是找到一个圆,使得这些数据点到圆的距离的平方和最小。为了找到最小值,我们需要计算拉格朗日函数的偏导数,并令其等于零。通过解决优化问题,我们可以找到最佳拟合的圆,以最小化数据点到圆的距离的平方和。其中,(x, y) 是圆心的坐标,r 是圆的半径,(xi, yi) 是数据点的坐标。其中,g(x, y, r) = 0 是约束条件,C 是常数,λ 是拉格朗日乘子。 阅读详情

相关推荐

《跨界杂谈》华为印象(五):高度集权的矩阵式架构

高度集权的矩阵式架构 “高度集权的矩阵式架构”不是官方术语。是笔者的一位同事非常经典的总结。解释这个句话还是有点困难的,笔者入职华为三年也没彻底搞明白,在这里只能尝试性的解释一下。 矩阵 我们先看一下“矩阵”。华为有两套部门职能体系,华为内部术语,叫实线部门和虚线部门。由实线与虚线部门交叉构成矩阵。大部分(但不是所有)华为员工都由两个部门(两个领导)进行管理。对员工而言,所谓的实线部

《云计算架构技术与实践》 2997

python集合类型及操作

目录集合类型的定义集合操作符4个增强符集合处理方法 集合类型的定义 集合是多个元素的无序组合,每个元素唯一,不存在相同元素,集合元素不可更改。 集合用大括号 {} 表示,元素间用逗号分隔,建立集合类型用 {} 或 set(),建立空集合类型,必须使用set()。 定义实例: 集合操作符 操作符及应用 描述 S | T 并 返回一个新集合,包括在集合S和T中的所有元素 S - ...

whoim_i的博客 1066

英飞凌TC3xx DSADC旋变软解码实战:从示波器波形到VX1000数据,手把手教你避坑

本文详细介绍了英飞凌TC3xx系列微控制器的DSADC模块在电机旋变软解码中的实战应用。从示波器波形分析到VX1000数据采集,提供了一套完整的调试方法论,帮助工程师快速定位和解决常见问题,提升解码精度和系统性能。

weixin_30598225的博客 517

python基础——集合

集合 定义: 定义空的集合用s = set(),s = {“a”,1,3},s = {}定义的是字典。 无序,不重复性 操作 s.add()#向集合中添加元素,只能添加一个 s.update(s_)#去掉s_中和s相同的元素,添加到s里 s.copy()#浅复制 s.pop()#默认删除输出结果第一个元素,有返回值 s.remove()#删除元素 s.difference(s_) #打印s_...

qq_45061831的博客 216

【vivado PG学习】1 PG168:7 Series FPGAs Transceivers官方配置方法学习笔记

介绍: The 7 series FPGAs Transceivers Wizard LogiCORE™ IP 自动创建配置7系列fpga 收发器的HDL封装。向导可以配置一个或多个支持行业主流标准的高速串行收发器。或者从零开始支持各种自定义协议。 功能: 创建配置7系列fpga 收发器的HDL封装。 自动对模拟设置进行配置。 预定义了提供Aurora 8B/10B, Aurora 64B/66B, CEI-6G,DisplayPort, Interlaken, Open Base StationAr..

w0shishabi的博客 5万+

手把手教你用Simulink搭建IEEE33节点配电网模型(附赠两本电力系统书籍)

本文详细介绍了如何使用Simulink搭建IEEE33节点配电网模型,涵盖从基础配置到高级应用的完整流程。通过MATLAB脚本自动化参数注入、监测系统部署和典型应用场景实战,帮助读者快速掌握配电仿真模型的核心技术。附赠两本电力系统经典书籍资源,助力深入学习与研究。

weixin_29073241的博客 251

PYthon组合数据类型的简单使用

python,组合数据类型,序列类型,元组,列表,列表的函数、赋值、遍历,修改元素,集合,集合的使用,特点,操作符

lilililimu的博客 905

用limma包进行多组差异表达分析

写在前面:最近在使用limma包进行差异表达分析,参考了网上许多教程都觉得说的云里雾里,很不清楚。经过我自己一段时间非常痛苦的钻研,弄明白了,解决了我的实际需求。于是决定将我的分析经验写下来,分享给需要的人。 首先加载前期预处理好的表达矩阵。(我的原始表达矩阵文件已附在文后,大家有需要可以下载实践) setwd("E://Rworkplace") data<-read.table...

weixin_40640700的博客 4万+

Python数据类型基本操作

Python数据类型基本应用元组与列表序列类型常用操作元组列表方法集合与字典集合 元组与列表 序列类型常用操作 操作符 描述 x in s 如果x是s的元素,返回True,否则返回False x not in s 如果x不是s的元素,返回True,否则返回False s + t 链接s和t s * n 或 n * s 将序列s复制n次 s[i] 索引,返回序列第i...

胡梦佳 1679

使用 Wireshark 进行计算机网络协议分析

文章目录实验前准备一、Wireshark抓包示例二、Wireshark实作1、数据链路层实作一 熟悉Ethernet帧结构实作二 了解子网内/外通信时的 MAC 地址实作三 掌握 ARP 解析过程2、网络层实作一 熟悉 IP 包结构实作二 IP 包的分段与重组实作三 考察 TTL 事件3、传输层实作一 熟悉 TCP 和 UDP 段结构实作二 分析 TCP 建立和释放连接4、应用层实作一 了解 DNS 解析实作二 了解 HTTP 的请求和应答 实验前准备 本部分实验用到的是抓包和协议分析软件——Wiresha

weixin_51087836的博客 8201

YOLOv5轻量化实战:从Ghost模块到工业级部署的完整指南

本文详细介绍了YOLOv5轻量化实战,重点解析了Ghost模块在工业检测中的应用及其优化策略。通过Ghost卷积技术,模型参数量和GFLOPs显著降低,同时保持高精度,适用于实时性要求严格的工业场景。文章还提供了从模型优化到TensorRT加速的完整部署指南,助力开发者实现高效工业级应用。

weixin_28223453的博客 489

集合类型内建方法总结

集合类型内建方法总结    集合(s).方法名 等价符号 方法说明 s.issubset(t) s 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员   s 子集测试(严格意义上):s != t 而且 s 中所有的元素都是 t 的成员 s.issuperset(

python的学习之路 1065

18、Excel VBA编程:自定义函数创建与代码调试全攻略

本文详细介绍了Excel VBA中自定义函数的创建方法,以获取单元格注释为例演示了完整开发流程,并深入讲解了代码调试的重要性与核心工具。内容涵盖三种主要错误类型及其应对策略,系统介绍了调试工具栏、断点、逐行执行、Locals窗口、Immediate窗口等实用功能。通过综合案例展示了如何运用调试技术解决实际问题,并总结了提前规划、逐步测试、日志记录等最佳实践,帮助读者提升VBA编程效率与代码质量。

life6的博客 101

【Python基础】集合类型

本文将详细介绍Python集合的定义、特性、创建方法以及常见操作,并通过代码示例进行说明。什么是Python?Python是由荷兰人吉多·范罗苏姆于1990年初设计的一门高级编程语言,该语言应用领域非常广泛,尤其在数据科学、人工智能、游戏开发等领域,它已经成为最受欢迎的程序设计语言之一,非常适合新手学习。Python语言标准库官方使用手册:https://docs.python.org/zh-cn/3/library/turtle.html#turtle-methodsPython语言有哪些特点?

分享是一种境界,勤于分享,乐于分享! 1879

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python的集合类型_python集合类型

集合类型简介集合也是容器,其内元素都是无序、唯一、不可变的。它常用来做成员测试、移除重复数据、数据计算(比如交集、并集、差集)。集合Set是dict的无value版。集合也使用大括号包围:>>> s = {'a','b','c'}>>> type(s)Set中的元素和dict一样也是通过hash值来存储的:将元素hash()得到hash值,存储到Set中。所以,...

weixin_39623713的博客 218

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python集合类型_python集合类型

CC语言开发python集合类型 集合类型简介集合也是容器,其内元素都是无序、唯一、不可变的。它常用来做成员测试、移除重复数据、数据计算(比如交集、并集、差集)。集合Set是dict的无value版。集合也使用大括号包围:>>> s = {'a','b','c'}>>> type(s)Set中的元素和dict一样也是通过hash值来存储的:将元素hash()得到hash值,存...

weixin_39731623的博客 113

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

python的集合类型_集合类型 (python)

集合类型 (python)在数学上,set称作由不同的元素组成的集合,集合的成员称作集合元素。集合对象是一组无序排列可哈希值。 集合包含两种类型,可变集合(set)和不可变集合(frozenset)。1集合操作符数学表示 python符号 python函数A ∈ B inA ∉ B not inA = B ...

weixin_39632379的博客 743

Python集合类型及操作

文章目录1. 集合类型定义2. 集合操作符集合间操作集合操作符3. 集合处理方法4. 集合类型应用场景包含关系比较数据去重:集合类型所有元素无重复 1. 集合类型定义 集合是多个元素的无序组合 不可变数据类型:整数、浮点数、复数、字符串类型、元组类型 2. 集合操作符 集合间操作 集合操作符 3. 集合处理方法 4. 集合类型应用场景 包含关系比较 数据去重:集合类型所有元素无重复 ...

巧克力布丁的博客 1104

python集合的两种类型_python基础-集合类型

#1、作用#1.1 关系运算#friends1 = ["zero","kevin","jason","egon"]#friends2 = ["Jy","ricky","jason","egon"]##l=[]#for x in friends1:#if x in friends2:#l.append(x)#print(l)#1.2、去重#2、定义: 在{}内用逗号分隔开多个元素,多个元素满足以下三...

weixin_39554170的博客 632

python中集合类型的特点_Python中的集合类型知识讲解

集合类型 数学上,,把set称做由不同的元素组成的集合,集合(set)的成员通常被称做集合元素(set elements)。Python把这个概念引入到它的集合类型对象里。集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。数学集合转为Python的集合对象很有效,集合关系测试和union、intersection等操作符在Python里也同样如我们所预想地那样工作。和其他...

weixin_42232139的博客 854

python集合类型_Python中的集合类型知识讲解

集合类型 数学上,,把set称做由不同的元素组成的集合,集合(set)的成员通常被称做集合元素(set elements)。Python把这个概念引入到它的集合类型对象里。集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。数学集合转为Python的集合对象很有效,集合关系测试和union、intersection等操作符在Python里也同样如我们所预想地那样工作。和其他...

weixin_40009063的博客 152

python的集合类型_python 集合类型

There are two types of set:variable set and immutable set:variable set can not be hashed.Note:frozenset can not be changed!1.create and update> myset=set("abadsfljasd")> mysetset(['a', 'b', 'd',...

weixin_30466329的博客 166

python中的集合类型_Python中的集合类型知识讲解

集合类型数学上,,把set称做由不同的元素组成的集合,集合(set)的成员通常被称做集合元素(set elements)。Python把这个概念引入到它的集合类型对象里。集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。数学集合转为Python的集合对象很有效,集合关系测试和union、intersection等操作符在Python里也同样如我们所预想地那样工作。和其他容器类型一样,集...

weixin_39938724的博客 243

python创建一个集合类型的方法是_Python中的集合类型知识讲解

集合类型 数学上,,把set称做由不同的元素组成的集合,集合(set)的成员通常被称做集合元素(set elements)。Python把这个概念引入到它的集合类型对象里。集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。数学集合转为Python的集合对象很有效,集合关系测试和union、intersection等操作符在Python里也同样如我们所预想地那样工作。和其他...

weixin_39540834的博客 90

【python学习】python集合类型

中国史之【颛顼在位】: 颛(zhuan)顼(xu)是中国历史中的一位传说人物,为五帝之一。父亲是昌意,昌意相传是黄帝与嫘祖的次子,封于若水,娶蜀山氏之女昌仆为妻,生颛顼。颛顼性格深沉而有谋略。十五岁时就辅助少昊,治理九黎地区,封于高阳(今河南杞县东),故又称其为高阳氏。 -来源:全历史APP 今天讲python的集合类型,集合虽然相对于列表和字典比较少用,但是还需要学习一下。有需要的也可以直接去我的github查看全部笔记: https://github.com/JackKoLing/python_no.

learning CV 331

Python集合类型的操作与应用

一、Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的、不重复的数据组合,其中,元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等,相反,如列表、字典和集合类型本身都是可变数据类型,因此不能作为集合元素使用。 1.无序性 集合是无序组合,没有索引和位置的概念,不能分片,集合中的元素可以动态增加或删除。集合用大括号“{}”表示。 s={1,2,3,'a','b',(5,'c')} print(s) -------------------------- {1,2,3,'b

python学习者的博客 1069
上一篇: Python—序列类型之列表
下一篇: JavaSE-数据类型
JP-Destiny
博客等级 码龄8年 34粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值