python 集合set和fronzeset的使用

2021-10-20 19:10:11 字數 2424 閱讀 8504

本文幾乎囊括了字典dict的全部使用方法,便於快速學習上手,也便於在使用時查閱。

其它型別的操作:列表、字串、字典。

集合內無序地儲存了不同元素。相比於其他序列元素,集合不支援索引、切片等操作,集合的元素內容通常是不可變的。set是可變集合,而frozenset是不可變基本。

python通過大括號{}建立集合。使用set()fronzeset()構造器也能建立集合。

s =

如果需要建立集合的集合,則集合裡面的集合需要是fronzeset物件。

setfronzeset非常相似,都有len()返回集合元素個數,x in sx not in s判斷集合是否存在某元素。還有其它一些方法如下表。

方法符號

說明a.cpoy()

集合a的淺拷貝

a.union(b)a | b集合ab取並集

a.intersection(b)a & b集合ab取交集

a.difference(b)a - b存在於集合a但不存在於b的元素集合

a.symmetric_difference(x)a ^ b只存在於集合ab的元素

a.issubset(b)a < ba <= b如果a中元素全部屬於b,則為true

a.issuperset(b)a > ba >= b如果b中元素全部屬於a,則為true

a.isdisjoint(b)

如果ab無共同元素,則為true

使用符號只允許對兩個集合物件,而使用函式的話,引數可以是任何可迭代物件。

setfronzeset比較就是比較他們的元素。

setfronzeset使用二元操作符,返回型別為操作符前面物件的型別。

下面的方法只用於set而不能用於fronzeset

方法符號

說明a.add(x)

將元素x新增到集合a

a.remove(x)

將元素x從集合a中除去,如果不存在則丟擲異常

a.discard(x)

將元素x從集合a中除去,如果存在

a.pop()

從集合a去除任意元素,如果集合為空,則丟擲異常

a.clear()

將集合清空

a.update(b)a |= b集合a更新為ab的並集

a.intersection_update(b)a &= b集合a更新為ab的交集

a.difference_update(b)a -=| b從集合a中刪除存在於b中的元素

a.symmetric_difference_update(x)a ^= b將集合a更新為只存在於集合ab的元素

更詳細的資訊檢視文件。

Set集合和Map集合

用於存放不重複的資料,通過建構函式的形式 引數必須是乙個可迭代物件 建立set物件 set集合方法add 新增乙個資料 has 判斷資料是否存在,存在返回true delete 刪除資料,刪除成功返回true clear 清空集合 size,這個是屬性,返回的是集合長度,只能讀不能改 const s...

map集合和set集合

map是一種通過 鍵值 key value 對對映表的資料結構。通過key可以實現快速查詢元素。put key,value 新增 get key 查詢 遍歷map 用for each來迴圈遍歷map例項的 keyset 返回的set集合。同時遍歷key和value可以使用for each迴圈遍歷ma...

python集合set操作

python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...