set也是一種組合資料型別,支援成員關係操作(in)、物件大小計算操作符(len()),並且是iterable。集合資料型別至少提供乙個set.isdisjoin()方法,支援比較,也支援為邏輯操作(在集合用於聯合、交叉等上下文中使用)。只有可雜湊運算的物件可以新增到集合中,可雜湊運算的物件包含乙個__hash__()特殊方法,其返回值在某個物件的整個生命週期內都是相同的,並且可以使用__eq()__特殊方法進行相等性比較。
所有內建的固定資料型別(比如float、frozenset、int、str、tuple)都是可雜湊運算的,都可以新增到集合中。內建的可變資料型別(比如dict、list、set)都不是可雜湊運算的,因為其雜湊值會隨著包含項數的變化而變化。
操作符==與!=都是逐項比較(對巢狀項,比如集合內的元組或固定集合,則遞迴比較)其他比較操作符則進行子集比較火超集比較。
除了呼叫set()建立集合,或使用集合字面值建立集合外,可以使用集合內涵建立集合。
舉例:html =
集合內涵中使用的iterable本身也可以是集合內涵(或任何其他型別的核心)
tem =
set(
)for x in files
if x.lower(
).endswith(
(".htm"
,".html"))
tem.add(x)
固定集合是指一旦建立舊不能改變的集合,固定集合只能使用frozenset資料型別函式進行建立,不帶引數呼叫時,frozenset(0將返回乙個空的固定集合,帶乙個frozenset引數時,將返回該引數的淺拷貝,對任何其他型別的引數,都嘗試將給定的物件轉換為乙個frozenset。該函式只能接受乙個引數。
如果將二元運算子應用於集合與固定集合,那麼產生結果的資料型別與左邊運算元的資料型別一致。因此,如果f是乙個固定集合,s是乙個集合,那麼f&s將產生乙個固定集合,s&f則產生乙個集合。在使用與!=等操作符時,運算元的順序無關緊要,如果兩個集合包含相同的項,那麼fs結果為true。
python3集合 Python 集合型別
一 集合型別簡介 1 集合 set 是由一組無序排列的元素組成的,集合中的成員稱為集合元素 2 集合型別分為可變集合和不可變集合,可變集合 set 可以新增 刪除元素,不可變集合 frozenset 則不可以 3 因為集合是由一組無序排列的元素組成的,因此也就沒有索引 切片 鍵的概念來訪問集合元素 ...
Python3 資料型別 集合
在python中集合set是基本資料型別的一種,它有可變集合 set 和不可變集合 frozenset 兩種。建立集合set 集合set新增 集合刪除 交集 並集 差集的操作都是非常實用的方法。集合是可雜湊的無序 可變型別,不能作為字典的鍵,但可以作為值使用。方法1 set1 print type ...
python3集合 Python3 集合
集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典。建立格式 parame 或者set value 這裡演示的是去重功能 orange in basket 快速判斷元素是否在集合內 true c...