關於 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 多個小時的學習和與頂級公司的工作幫助。

想要分享這篇文章?

為未來的職業做準備

申請數據科學理學碩士