首页 > 其他分享 >集合

集合

时间: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语言中一种支持类型参数化的技术,它允许在编译时提供类型信息,从而使得......