关于 Python 中的 Frozenset 你需要知道的一切

已发表: 2023-01-21

Python 是一种同时拥有函数式编程语言和面向对象编程语言的关键特性的语言。 与元组或列表不同,Python 中的集合基本上是唯一项的未排序集合。 Python 中的集合以逗号分隔值为特征,放在大括号或 {} 内。 但是,这些集合中的所有元素都是无序的。

在本文中,我们将研究 Python 中的数据类型 frozenset。

目录

FROZENSET 是什么意思?

Frozenset 被定义为一组固定的或不灵活的无组织的元素,这些元素在自然界中是独一无二的。 这些集合确实包含一组元素,但这些元素在集合中没有顺序。 顾名思义,一旦创建了 frozenset,就不能对其元素进行任何更改。

与元组一样,frozensets 在本质上也是不可变的。 由于具有可哈希的特性,它们也可以用作字典中的键。 这种类型的集合支持各种功能,如 copy()、union()、isdisjoint()、issuperset()、symmetric_difference()、intersection() 等。

探索我们的热门数据科学课程

IIITB 的数据科学执行研究生课程 商业决策数据科学专业证书课程 亚利桑那大学数据科学硕士
IIITB 的数据科学高级证书课程 马里兰大学数据科学和商业分析专业证书课程 数据科学课程
  • frozenset()是用于创建此类集合的函数。 例如,

frozenset([11,12,13])

冻结集({11,12,13})

  • 以下示例说明了冻结集的可散列属性:

{ {11}, {12,13} }

TypeError:无法散列的类型:'set'

{frozenset ( [11] ), frozenset ( [12,13] ) }

{frozenset ( {11} ), forzenset ( {12,13} ) }

  • Frozenset() - 此函数采用单个参数。
  • frozenset() 函数的返回类型是一个固定的 frozenset,它以参数中传递的元素开始。
  • 如果集合中没有传递任何参数,函数 frozenset() 的输出将是一个空 frozenset。

阅读我们流行的数据科学文章

数据科学职业道路:综合职业指南 数据科学职业发展:工作的未来就在这里 为什么数据科学很重要? 数据科学为企业带来价值的 8 种方式
数据科学对管理者的相关性 每个数据科学家都应该拥有的终极数据科学备忘单 你应该成为数据科学家的 6 大理由
数据科学家的一天:他们做什么? 神话破灭:数据科学不需要编码 商业智能与数据科学:有什么区别?

查看 upGrad 的数据科学课程

FROZENSET 上的操作

在本节中,我们将借助示例了解对 Frozenset 执行的不同类型的操作。

  • 联盟()

Union() 函数用于查找任意两个冻结集(A1 和 A2)的并集,它返回两个集中存在的所有元素。

例如。

#frozensets

#初始化A1和A2

A1= frozenset ( (a, b, c, d) )

A2= frozenset ( (e, b, d, h, i) )

输出= A1.union(A2)

打印(输出)

# 输出: frozenset ({b, d})

探索我们的热门数据科学课程

IIITB 的数据科学执行研究生课程 商业决策数据科学专业证书课程 亚利桑那大学数据科学硕士
IIITB 的数据科学高级证书课程 马里兰大学数据科学和商业分析专业证书课程 数据科学课程
  • 复制 ()

Copy() 函数允许用户将 frozenset A1 的所有元素复制到另一个集合 A3 中。

例如。

#frozensets

#初始化A1和A2

A1= frozenset ( [a, b, c, d] )

A2= frozenset ( [e, b, d, h, i] )

#复制冻结集

A3 = A1.copy()

打印 (A3)

#OUTPUT: frozenset({a,b,c,d})

阅读我们流行的数据科学文章

数据科学职业道路:综合职业指南 数据科学职业发展:工作的未来就在这里 为什么数据科学很重要? 数据科学为企业带来价值的 8 种方式
数据科学对管理者的相关性 每个数据科学家都应该拥有的终极数据科学备忘单 你应该成为数据科学家的 6 大理由
数据科学家的一天:他们做什么? 神话破灭:数据科学不需要编码 商业智能与数据科学:有什么区别?
  • 对称差异()

此函数准确返回多个集合之一中存在的所有元素。

例如。

#frozensets

#初始化A1和A2

A1 = frozenset ( [b, c, d] )

A2 = frozenset ( [e, b, c, d, i] )

输出 = A1.symmetric_difference(A2)

打印(输出)

#输出: frozenset({e,i})

  • 子集()

此函数允许用户检查任何集合 A1 是否是另一个集合 A2 的子集。 它将返回值“True”或“False”。

#frozensets

#初始化A1和A2

A1 = frozenset ( [b, c, d] )

A2 = frozenset ( [e, b, c, d, i] )

输出 = A1.issubset(A2)

打印(输出)

#输出:

A1 = frozenset ( [a,b, c, d] )

A2 = frozenset ( [e, b, c, d, i] )

输出 = A1.issubset(A2)

打印(输出)

#输出:错误

结论

尽管 sets 和 frozensets 都能够存储唯一元素,但它们可以很容易地在迭代中实现。 与普通集合相比,python 中的 frozenset 元素是可散列的和不可变的,因此可以用作字典的键和其他集合的对象。

如果您想了解画面、数据科学,请查看 IIIT-B 和 upGrad 的数据科学执行 PG 计划,该计划专为在职专业人士创建,提供 10 多个案例研究和项目、实用的实践研讨会、行业专家的指导, 与行业导师一对一,400 多个小时的学习和与顶级公司的工作帮助。

想要分享这篇文章?

为未来的职业做准备

申请数据科学理学硕士