网站首页
编程语言
数据库
系统相关
其他分享
编程问答
首页
>
其他分享
>集合
集合
时间:2024-11-02 17:31:21
浏览次数:3
标签:
set
元素
other
frozenset
集合
others
集合
集合
集合
介绍
创建
操作
set 对象是由具有唯一性的 hashable 对象所组成的
无序多项集
。
用途
成员检测
、从序列中
去除重复项
以及数学中的
集合类计算
,例如交集、并集、差集与
对称差集等等。
不记录元素位置或插入顺序
不支持索引、切片或其他序列类的操作。
两种内置集合类型
set
frozenset
可变的
--- 其内容可以使用 add() 和 remove() 这样的方法来改变。
不可变
--- 其内容在被创建后不能再改变
可hash,可以被用作字典的键或其他集合的元素。
set([iterable])
frozenset([iterable])
1.返回一个新的 set 或 frozenset 对象,其元素来自于 iterable。
2.元素
必须
为 hashable
使用花括号内以逗号分隔元素的方式
{'jack', 'sjoerd'}
使用集合推导式
{c for c in 'abracadabra'}
使用类型构造器
set('foobar')
set(['a', 'b', 'foo'])
set()
len(s)
返回集合 s 中的元素数量(即 s 的基数)
x in s
检测 x 是否为 s 中的成员
isdisjoint(other)
如果集合中没有与 other 共有的元素则返回 True
当且仅当两个集合的交集为空集合时,两者为不相交集合,返回True
等价与
not bool(x & y)
issubset(other)
set <= other
检测是否集合中的每个元素都在 other 之中
检测集合是否为 other 的子集
set < other
检测集合是否为 other 的真子集,即 set <= other and set != other
issuperset(other)
set >= other
检测是否 other 中的每个元素都在集合之中
set > other
检测集合是否为 other 的真超集,即 set >= other and set != other
检测集合是否为 other 的超集
union(*others)
set | other | ...
并集
返回一个新集合,其中包含来自原集合以及 others 的
所有
集合中的
元素
intersection(*others)
set & other & ...
交集
返回一个新集合,其中包含原集合以及 others的所有集合中
共有
的元素
difference(*others)
set - other - ...
差集
返回一个新集合,包含在原集合中存在,但
不存在
与other的所有集合中的元素
symmetric_difference(other)
set ^ other
返回一个新集合,其中的元素或属于原集合或属于 other 指定的其他集合,但不能同
时属于两者。
等同于
(a | b) - (a & b)
copy()
返回原集合的浅拷贝
注意
union() 、 intersection() 、 difference() 、 symmetric_difference() 、 issubset()
和 issuperset() 方法的非运算符版本可以
接受任何可迭代对象
作为一个参数。相比之
下,基于
运算符
的对应方法则
要求参数
为
集合对象
。这就避开了像 set('abc') & 'cbs'
这样容易出错的结构,而换成了可读性更好的 set('abc').intersection('cbs')。
计算
set 的实例与 frozenset 的实例之间基于它们的成员进行比较
例:set('abc') == frozenset('abc') 返回 True
混合了 set 实例与 frozenset 的二进制位运算将返回与第一个操作数相同的类型。例
如: frozenset('ab') | set('bc') 将返回 frozenset 的实例。
可变集合set独有的操作
update(*others)
set |= other | ...
更新集合,添加来自 others 中的所有元素
intersection_update(*others)
set &= other & ...
更新集合,只保留其中在所有 others 中也存在的元素
difference_update(*others)
set -= other | ...
更新集合,移除其中也存在于 others 中的元素
symmetric_difference_update(other)
set ^= other
更新集合,去除所有集合共同存在的元素
add(elem)
将元素 elem 添加到集合中
remove(elem)
从集合中移除元素 elem
如果 elem 不存在于集合中则会引发 KeyError
discard(elem)
如果元素 elem 存在于集合中则将其移除,不存在不报错
pop()
从集合中移除并
返回
任意一个
元素
。 如果集合为空则会引发 KeyError
clear()
清空集合
注意
同计算,非运算符版本的计算方法将接受任意可迭代对象作为参数
上述elem 参数可以是一个
集合
Created With
MindMaster
标签:
set
,
元素
,
other
,
frozenset
,
集合
,
others
From: https://www.cnblogs.com/mmIqm/p/18522245
相关文章
Java 集合一口气讲完!(下)p\··/q
Java映射Java集合教程-Java映射映射表示包含的集合键值映射。Map是一个集合,其中每个元素表示一个键值对作为<key,value>;.<key,value>对也称为映射中的条目。键和值必须是引用类型。映射由 Map<K,V> 接口的实例表示,它不是继承自 Collection 接口。映射不允许任何重......
大话Java系列-集合框架与中国十八般冷兵器的碰撞,刀,枪,剑,弓,戟,斧,钩,叉,锤,棍,鞭,锹
文章目录Java集合框架的主要集合类与十八般冷兵器的碰撞1.ArrayList——刀2.LinkedList——枪3.HashSet——剑4.LinkedHashSet——弓5.TreeSet——戟6.HashMap——斧7.LinkedHashMap——钩8.TreeMap——叉9.PriorityQueue—......
最全面的AI大模型面试题集合,存一下吧很难找全的!
节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。AI大模型技术经过2023年的狂飙,2024......
区间集合:高效解决无重叠区间问题【贪心、区间集合】
无重叠区间问题的深入解析与C++实现题目理解在无重叠区间问题中,我们被给定一个区间集合intervals,其中每个区间以[start,end]的形式表示。我们的目标是确定最少需要移除多少个区间,以确保剩下的区间互不重叠。值得注意的是,当两个区间仅在一个点上接触时(例如[1,2]和[......
python基础(集合)
学习目标:集合的概念,创建,增加元素,移除元素,运算(交集,并集,差集,对称差集),推导式一.集合的概念:Python中的集合(set)是一种无序、无重复元素的数据结构,它的元素是不可变的(可哈希的)集合是由大括号{}包围的元素集合如果定义空集合,即不包含任何元素,必须使用set()函数定义二.集合的创建......
集合竞价逐笔数据,level2行情接口统计验证
最近做集合竞价的策略,用的level2数据。集合竞价阶段推送数据量很大,但是不确定有没有因为网络原因的数据纰漏,所以需要验证一下。把今天所有的数据记录了日志,其中筛选了09:25集合竞价的推送:grep'2024/07/2909:25'quotes.log|greplv2level2行情结果如下:2024/07/2909:......
MongoDB关联另一个集合
MongoDB本身并不支持传统关系数据库中的外键(foreignkey)概念,因为它是一个文档数据库,数据通常是以JSON格式存储的文档,并且不强制要求文档之间的关系。然而,你可以通过以下几种方式在MongoDB中实现类似外键的功能:1.引用(References)你可以在一个文档中存储另一个文档的ID,从而......
Go语言内置集合的隐式指针
在Go语言中,有几种内置集合类型(如slice、map和channel),这些类型的特殊之处在于它们实际上是隐式指针。这意味着当我们将这些集合类型传递给函数或方法时,传递的是它们的引用,而不是拷贝。这种特性使得这些集合能够在函数中直接修改原始数据,而不需要显式传递指针。1.内置集合......
Java 集合框架是什么?集合框架的优点有哪些?
目录1.Java集合框架的概念2.集合类3. Java在后续的版本中做了进一步的增强4.集合框架的优点1.Java集合框架的概念 Java集合框架(JavaCollectionsFramework,JCF)是Java中一个用于存储和处理对象集合的统一架构。它提供了一系列的接口和类,这些接口和......
Java集合框架中的泛型有什么优点?
目录1.泛型的基本概念1.1什么是泛型1.2泛型与非泛型代码的比较2.使用泛型的优点2.1类型安全2.2 消除类型转换2.3使代码更整洁1.泛型的基本概念1.1什么是泛型 泛型是Java语言中一种支持类型参数化的技术,它允许在编译时提供类型信息,从而使得......
赞助商
阅读排行
Python3网络爬虫浓缩系列
visual studio 2022离线安装包制作教程
#yyds干货盘点# 前端歌谣的刷题之路-第一百三十七题-可伸缩属性
Codeforces
使用U盘制作启动盘并重装系统
编写HelloWorld程序
departments/components/add.vue
1081. 度的数量
js- day03- 将数据变成柱形图
nginx使用
leetcode 22 括号生成
webrtc-streamer实现简单rtsp视频监控
wordpress外贸独立站商城 如此简单
函数练习错题
利用TableAdapter更新数据库