Python基礎知識之集合

2021-08-21 11:02:39 字數 3671 閱讀 9726

一般方式

將該集合的所有元素置於乙個大括號內,以逗號分隔。

>>> set1 = 

>>> set1

但上面這種方式不能用於建立乙個空集合:

>>> set0 = {}

>>> type(set0)

乙個空的大括號會被認為是乙個空的字典。

用set()建立集合

>>> set(['a',5,'chat',89,2.55])

若建立乙個空集合,set()內不設定引數。

如果集合中的元素型別相同(同為數字或同為字母),可以直接用set()這樣建立:

>>> set('hsdjka')

>>> set('1123549')

從上面的建立我們發現,他並沒有按照我們給出的順序來建立集合,在set('1123549')中,'1'出現了兩次,但是在集合裡只看到乙個'1',這裡可以得出集合的兩大特性:無序性(集合和集合是等價的)和互異性(乙個集合內,不會出現兩個相同的元素)。集合還有乙個性質:確定性(乙個元素是否存在於該集合中,這是可以確定的)。

因為無序性這一特性,所以不能試圖通過下標找到某集合元素。

>>> set1

>>> set1[0]

traceback (most recent call last):

file "", line 1, in set1[0]

typeerror: 'set' object does not support indexing

在介紹集合的內建方法之前,先介紹一種使用frozenset()建立的不可變集合。它的建立方式和set()一致,唯一不同的是這種集合一經建立是不允許改變的。改變集合中元素的方法不適用於frozenset()。

add()

將某元素新增至集合中。

>>> p = 

>>> p.add('c')

>>> p

clear()

清空集合中的元素。

copy()

淺拷貝某集合。

>>> q = p.copy()

>>> q

difference()

《差集》

>>> a = 

>>> b =

>>> a.difference(b)

等價於a-b,返回a中存在但在b中不存在的元素所組成的集合。

difference_update()

>>> a

>>> b

>>> a.difference_update(b)

>>> a

等價於a-=b在進行差集運算後,將返回集合賦值給原集合。

discard()

將某元素從集合中刪除。

>>> b

>>> b.discard(2)

>>> b

intersection()

《交集》

>>> a = 

>>> b =

>>> a.intersection(b)

等價於a & b,返回a與b共有元素的集合。

intersection_update()

等價於a &= b

isdisjoint()

判斷兩個集合是不是不相交,返回bool值。

>>> a = 

>>> b =

>>> a.isdisjoint(b)

true

issubset()

《子集》

>>> a = 

>>> b =

>>> c =

>>> a.issubset(b)

false

>>> a.issubset(c)

false

>>> d =

>>> a.issubset(d)

true

a.issubset(b),判斷a是否是b的子集,相當於a<=b,返回bool值。

issuperset()《超集》

>>> a

>>> c

>>> a.issuperset(c)

true

a.issuperset(b),判斷a是否是b的超集,相當於a>=b,返回bool值。

pop()

返回並刪除集合中任意一元素。

>>> a

>>> a.pop()

1>>> a

remove()

刪除集合中某元素,若該引數不在此集合類,會引數錯誤。discard()不會報錯。

symmetric_difference()

《對稱差》

>>> a

>>> b

>>> a.symmetric_difference(b)

返回兩個集合中只屬於其中乙個集合,不屬於另乙個結合的元素所組成的集合。(結果相當於a與b的並集減a與b的交集)

等價於a ^ b

symmetric_difference_update()

等價於a ^= b

union()

《並集》

>>> a

>>> b

>>> a.union(b)

等價於a | b,返回乙個集合,a與b中任何存在的元素都可以在這個集合中找到(結果相當於a+b的結果,+操作符不可用)。

update()

a.update(b),將b集合中的元素新增到a集合,相當於a |= b

python基礎知識之集合

鑑於前面已經對列表的一些用法進行過介紹,本篇文章就從元組開始說 首先,元組和列表的形式上是差不多的,都是儲存大量資料的一組集合,但是也是有不同點的 下面舉個列子 元組 test 1,3,xx 列表 test1 1,2,xx 從上面的列子可以看出在定義元組和列表時需要注意的不同,元組用的小括號,而列表...

python 基礎知識之集合操作

一 集合定義 作用 去重,關係運算,定義 知識點回顧 可變型別是不可hash型別 不可變型別是可hash型別 定義集合 集合 可以包含多個元素,用逗號分割,集合的元素遵循三個原則 1 每個元素必須是不可變型別 可hash,可作為字典的key 2 沒有重複的元素 3 無序 注意集合的目的是將不同的值存...

python基礎知識小結之集合

集合 特點 集合物件是一組無序排列的可雜湊的值 集合成員可以做字典的鍵,與列表和元組不同,集合無法通過數字進行索引。此外,集合中的元素不能重複。定義set new empty set object set iterable new set object s 應用 去重 lst1 1,1,2,2,3,...