python 基础学习 集合

计算机视觉三大顶会(ICCV/CVPR/ECCV)投稿指南与趋势解析 本文详细解析计算机视觉三大顶会(ICCV/CVPR/ECCV)的投稿指南与最新趋势。从基础认知到实战经验,涵盖时间线管理、选题策略、论文写作技巧及实验设计要点,帮助研究者提升投稿成功率。特别关注2024年技术融合、评估维度和伦理要求等前沿趋势,为计算机视觉领域的研究者提供实用建议。 阅读详情

        Python中的集合分为可变集合和不可变集合,顾名思义,可变集合可以进行添加、删除和更新等操作,而不可变集合是不能进行这些操作的。除此之外,两者更大的区别在于:可变集合的元素时不可哈希的,而不可变集合的元素是可哈希的,这久意味着不可变集合的元素可以作为字典的键值,相反,可变集合不允许。和数学上的集合一样,集合具有无序性和不可重复性,也具有并集,交集,差集等操作。

        和列表,元组和字典不同,集合没有特别的语法格式。Python提供了set()和frozenset()两方法创建集合对象,其中set()创建一个可变集合,frozenset()创建一个不可变集合,参数为空是创建空对象,当为一个可迭代对象时,创建一个初始化了的集合。

>>> # python 基础学习 集合
>>> # 创建集合对象
>>> # 可变集合
>>> set1 = set('python set')
>>> set1
set([' ', 'e', 'h', 'o', 'n', 'p', 's', 't', 'y'])
>>> type(set1)
<type 'set'>
>>> # 不可变集合
>>> set2 = frozenset('python frozenset')
>>> set2
frozenset([' ', 'e', 'f', 'h', 'o', 'n', 'p', 's', 'r', 't', 'y', 'z'])
>>> type(set2)
<type 'frozenset'>

        注意,因为字符串本身就是一个可迭代对象,所以要想创建一个以字符串为元素的集合,就必须把字符串作为列表或元组的元素,然后把该列表或者元组作为参数来创建集合。

>>> # 以字符串作为元素的集合
>>> set3 = set(['python','java','android'])
>>> set3
set(['python', 'android', 'java'])

        由于集合具有无序性,所以不能定向访问集合中的某个元素,而只能判断某个元素是否存在于集合中。

>>> # 集合成员关系
>>> 'y' in set1
True
>>> 'f' not in set1
True
>>> 'python' in set3
True

        对于可变集合来说,可以添加和删除元素,而添加不是使集合具有重复的元素,也不能定向的删除某个元素,只能删除一个不可预知(集合的无序性)的元素。对于不可变元素来说,任何试图改变集合的值的操作都是不允许的。

>>> # 可变集合添加和删除元素
>>> set3.add('mysql')
>>> set3
set(['python', 'android', 'java', 'mysql'])
>>> # 可变集合添加和删除元素
>>> # 添加新元素
>>> set3.add('mysql')
>>> set3
set(['python', 'android', 'java', 'mysql'])
>>> # 添加已有元素
>>> set3.add('python') #只有一个'python' 对象
>>> set3
set(['python', 'android', 'java', 'mysql'])
>>> # 删除集合元素
>>> set3.pop()
'python'
>>> set3.pop()
'android'
>>> set3.pop()
'java'
>>> set3
set(['mysql'])

        集合操作

        子集(<,<=):一个集合中的所有元素都是另一个集合中的元素,操作符对应的内建函数:s.issubset(t)

>>> # 子集
>>> set1 = set('python set')
>>> set2 = frozenset('python frozenset')
>>> set4 = set('set')
>>> set4 < set1
True
>>> set4 < set2

        并集(|):返回一个新的集合,该集合中的元素至少是任意一个集合中的元素,对应的内建函数: s.union(t)

>>> #并集
>>> set1 | set2
set([' ', 'e', 'f', 'h', 'o', 'n', 'p', 's', 'r', 't', 'y', 'z'])
>>> set1 | set3
set([' ', 'e', 'h', 'o', 'n', 'p', 's', 't', 'mysql', 'y'])
>>> set1.union(set3)
set([' ', 'e', 'h', 'o', 'n', 'p', 's', 't', 'mysql', 'y'])

        交集(&):返回一个新集合,该集合中的元素同时是两个集合中的元素,对应的内建函数:s.intersection(t)

>>> # 交集
>>> set1 & set2
set([' ', 'e', 'h', 'o', 'n', 'p', 's', 't', 'y'])
>>> set1 & set3
set([])
>>> set1.intersection(set2)
set([' ', 'e', 'h', 'o', 'n', 'p', 's', 't', 'y'])

         差集(-):差集(s-t),返回一个新的集合,该集合中的元素只属于s但不属于t,对应的内建函数:s.difference(t)

>>> # 差集
>>> set1 - set2
set([])
>>> set1 - set3
set([' ', 'e', 'h', 'o', 'n', 'p', 's', 't', 'y'])
>>> set2 - set1
frozenset(['r', 'z', 'f'])

        需要指出的是,不可变集合同样允许并集、交集、差集等操作,在上面的小例子中,set2就是一个不可变集合。当两种集合混合操作时,结果会是怎么样的呢?其依据一个原则:与第一个操作数的类型为准,即如果第一个操作数的类型是不可变的,返回的结果就是不可变的,反之就是可变的。

>>> type(set1-set2)
<type 'set'>
>>> type(set2-set1)
<type 'frozenset'>

 

        美好的一天,或者,明天……












RV1106G3的AOV下的yolov5调试记录 本文介绍了基于LuckFoxPicoMax开发板的RV1106芯片调试经验,重点包括AOV(Always-On Vision)和Yolov5目标检测的实现。在硬件方面,板载1TOPS NPU、256MB内存,并更换为SPI NOR存储。软件调试涉及MK配置文件修改、设备树调整(按键唤醒和sensor配置)以及程序自启动设置。Yolov5模型优化为320*320尺寸,推理时间约45ms。系统采用VI采图与AI识别通过共享内存通信的方案,实测功耗在20-35mA范围。文章还指出了当前存在的功耗优化、ISP调试等 阅读详情

相关推荐

ERGM指数随机图模型全解析:从基础原理到R语言实操

从社交网络中的互惠、传递性和同质性等基本现象切入,介绍网络数据与传统回归分析的本质差异——边与边之间的依赖关系。指数随机图模型(ERGM)正是为刻画这种依赖结构而设计的统计框架,它通过指数族分布将网络结构效应显式建模,结合MCMC方法完成参数估计。ERGM在组织协作、传播扩散、生物生态等领域的应用日益广泛,其扩展模型TERGM、GERGM和多层ERGM进一步支持时序、权重与多重关系网络。本文系统梳理ERGM的理论基础、核心统计量、扩展模型选型及R语言实操要点,帮助研究者理解网络生成机制并完成收敛性诊断与结果

weixin_29050271的博客 363

python中可变集合set和不可变集合frozenset的区别

序言 集合是不同元素的无序集合。与序列类型不同(如列表,字符串等),集合是没有切片操作的。 集合分为两种类型: set —— 可变集合。集合中的元素可以动态的增加或删除。 frozenset —— 不可变集合。集合中的元素不可改变。 注:对于 并集, 交集, 差集 等的返回值,与最左边的操作数具有相同的类型。例如:s &amp; t  取交集。s集合是一个set类型的集合,t集合是一个f...

九天小牛 8490

均值场博弈_平均场博弈(mean field game)

The New Big Fish Called Mean-Field Game Theory原文链接http://www.science4all.org/article/mean-field-games/​www.science4all.org主要内容在经典博弈论中,它对附近其他鱼类的行为做出反应。这是非常复杂的,因为不同的鱼类之间会有大量的相互作用。这意味着经典博弈论对应于一长串高度耦合的方程。...

weixin_34773479的博客 3682

python中s和t的关系_python中set和frozenset详解

set(可变集合)与frozenset(不可变集合)的区别:set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交集), difference(差集)和sysmmetric difference(对称差集)等数学运算.sets 支持 x in s...

weixin_39840729的博客 1369

保姆级教程:用Altium Designer 24从零画一块PCB(附完整库文件与避坑清单)

本文提供了一份详细的Altium Designer 24(AD24)PCB设计教程,从工程创建到最终文件输出,涵盖元件库管理、原理图设计、PCB布局布线等全流程。特别适合初学者,包含STM32最小系统板的实战案例,附完整库文件和避坑清单,帮助用户快速掌握AD24的核心功能与技巧。

weixin_27697385的博客 249

【002】C++ 语言核心:关键字深度解析与分类指南

auto:自动类型推导bool:布尔类型break:跳出循环或switch语句case:switch语句分支char:字符类型class:定义类const:常量continue:结束当前循环,开始下一次循环default:switch语句默认分支delete:删除对象do:do-while循环double:双精度浮点数类型else:if语句的否定分支enum:枚举类型explicit:显式构造函数export:导出符号extern:声明外部变量或函数。

Lion_Long的博客 1250

简单了解 python 中的可变与不可变类型

在Python编程语言中,数据类型主要分为可变(mutable)和不可变(immutable)两大类。这两类数据类型在内存中的表现和操作方式有所不同。

m0_71081217的博客 714

2026.5.3:Ubuntu26.04下uv所需的环境变量pyproject.toml

本文档提供了Python开发环境的配置指南。主要包括: 设置环境变量(HF_ENDPOINT、UV_PYTHON_INSTALL_MIRROR等) 创建pyproject.toml配置文件,定义项目元数据(名称、版本等) 指定依赖项(torch系列库)及其安装源(PyTorch官方CUDA 12.8镜像) 配置Python版本要求(>=3.13,<3.14) 设置平台限制(Linux/Windows) 该配置适用于需要PyTorch CUDA 12.8支持的项目开发环境搭建。

拥抱具身智能,昇腾Ascend C 590

解释 Python 中的可变与不可变数据类型?

在 Python 中,数据类型分为可变(mutable)和不可变(immutable)两种。理解这两种类型的区别对于编写高效、可靠的代码至关重要。作为面试官,我会详细解释这两者的区别,并提供一些实际开发中的使用建议和注意事项。

程序员学习园地。 795

6.3 节深度拆解:Hermes Agent 多 Agent 协同执行链路的 4 层设计逻辑

拆解 Hermes 多 Agent 协同的 4 层工程化设计(协议层、编排层、执行层、适配层),聚焦协议层的强约束消息 Schema 如何解决 Agent 间语义不一致问题,并提供 `soul.md` 配置、GLM-4.7Flash 结构化输出验证及 v0.13.0/v0.14.0 版本实操避坑指南

weixin_42520239的博客 122

把云端打印带回办公室:通信场景 SAP_COM_0466 打通 SAP BTP ABAP environment 与本地打印机的 Pull Integration 实战

摘要: 本文探讨云端SAP系统如何通过SAP_COM_0466通信场景实现与本地打印机的安全连接。核心方案采用Pull Integration模式,由本地组件(如SAP Cloud Print Manager或第三方OMS)主动从云端打印队列拉取任务,避免网络边界冲突。配置流程涵盖通信安排创建、打印队列绑定及权限管理,并强调队列类型必须选择"Pull Integration Queue"的关键细节。方案通过分离云端生产与本地打印环节,既保障安全性又便于运维监控,适用于SAP BTP AB

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 144

python可变类型和不可变类型的区别

一、python的数据类型 在Python中主要有两种数据类型, 一种是可变数据类型, 另一种是不可变数据类型 可变类型(mutable):列表,字典(key是不可变) 不可变类型(unmutable):数字,字符串,元组 这里的可变不可变,从对象内存地址方向来说,是指内存中的值(value)是否可以被改变。 python所声明的变量都以对象的形式存在,存在于机器的固定内存之中。 二、不可变类...

钟灵毓秀的博客 5678

Linux(31)Rockchip RK3568 Ubuntu22.04上部署 Docker: 问题与解决方案

本博客在总结这些问题及其解决方案,为遇到类似问题的兄弟提供参考,如果我后续有碰到其他Docker 问题也会在此更新补充。

我其实什么都不会 1646

【Python零基础学习入门篇④】——第四节:Python的列表、元组、集合和字典

【Python零基础学习入门篇④】——第四节:Python的列表、元组、集合和字典。本文主要讲解Python中列表、元组、集合、字典的一些相关内容,如果你觉得本文对你有用的话,可以请你给我个三连和订阅嘛,因为我觉得,这真的是,泰裤辣!

H1727548的博客 2098

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Python基础学习—集合

定义集合字面量{元素1,元素2,元素3,…,元素n}# 定义集合变量名称 = {元素1,元素2,元素3,…,元素n}# 定义空集合变量名称 = set()# 定义集合 set1 = {1 , 2 , 3 , 4 , 5 } # 定义空集合 empty_set = set()my_set = {print 输出集合内容:my_set的内容是:{1, 2, 3, 4, 5, 100},my_set的数据类型是:.

i李泳谦谦谦谦谦 1346

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python零基础学习之集合和字典详解

集合可以使用大括号({})或者set()函数进行创建,但是创建一个空集合必须使用set()函数,而不能用{},大括号是用来创建一个空字典。字典是通过键来存取元素的,因此一个字典中,键必须是唯一的。

2301_80239908的博客 914

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python 基础之集合 学习

一、集合 集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典 中的“键对象”,因此是不能重复的且唯一的。 二、集合创建和删除 1. 使用{}创建集合对象,并使用 add()方法添加元素 2. 使用 set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保 留一个。 3. remove()删除指定元素;clear()清空整个集合 三、集合相关操作 | 并集 & 交集 ...

qq_53582111的博客 227

Python基础学习(五):集合

set。

weixin_45537879的博客 389

Python基础学习day6——集合、字典

本文介绍了Python中的集合和字典两种数据类型。集合分为可变集合和不可变集合,可变集合支持元素增删查等操作,使用add()、update()等方法;字典以键值对形式存储数据,键唯一且不可变,值可变。字典支持键值对的增删改查操作,包括pop()、update()等方法,以及keys()、values()等函数获取键值信息。两种数据类型都支持常见集合运算,是Python中重要的数据结构。

2501_92708079的博客 534

人工智能学习——Python基础之集合

a.difference(b)等于a-b,求集合a有的,而集合b没有的。b.difference(a)等于b-a,求集合b有的,而集合a没有的。4.issubset()判断一个集合是否是另一个集合的子集。例如,列表zx中有重复元素123和456,set(zx)就是将重复的元素剔除,只保留唯一。8.pop(),弹出集合中的某个元素,并且将集合中这个元素删除。set()定义一个集合,给一个集合赋值。6.update(),更新集合中的元素,即将集合中没有的元素添加进去。5.add(),往集合中添加元素。

weixin_44503164的博客 190

python基础学习——集合

一、集合的相关定义 1、集合set,可迭代对象 由不同的元素组成,无序排列、不可变数据类型。由大括号{},以逗号分隔方式定义 2、集合的内置方法 普通集合属于可变数据类型,如果属性为:l_s=frozenset(linux_1)就为不可变的数据类型 2.1add添加元素,只能存放一个元素 2.2clear清空元素 2.3copy浅拷...

216

python基础学习之Python 集合(数组)

python变量和Python 集合(数组)整理

Kayleigh520的博客 1082

datawhale组队学习——Python基础——字典、集合、序列

下内容来自datawhale组队学习——Python基础,供自己学习记录,转载还请附上博客链接! 目录字典知识点1. 可变类型与不可变类型2. 字典的定义3. 创建和访问字典4. 字典的内置方法练习题1、字典基本操作2、字典中的value集合知识点1. 集合的创建2. 访问集合中的值3. 集合的内置方法4. 集合的转换5. 不可变集合练习题序列知识点1. 针对序列的内置函数练习题 字典 知识点 1. 可变类型与不可变类型 序列是以连续的整数为索引,与此不同的是,字典以"关键字"为索引,关键字可以是任意不可变

tangzhide123yy的博客 358

python集合基础知识学习

python集合基本操作 学习来源链接:http://www.runoob.com/python3/python3-set.html 集合基本操作 print("===集合学习===") p = {1,2,3,4,5,6} print(p) c=set('') print("定义空集合:",c) basket = {'apple', 'orange', 'apple', 'pear', '...

沧海一滴水 319

python基础学习——元组、字典、集合

python基础学习——元组、字典、集合

m0_52872388的博客 518

Python小白学习教程从入门到入坑------第十一课 集合(语法基础)

Python小白学习教程从入门到入坑------第十一课 集合

qq_64441210的博客 850
上一篇: android 自定义对话框
下一篇: Python 文件对象
beforu
博客等级 码龄12年 3粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值