python學習筆記 set集合

2021-09-19 06:25:32 字數 1619 閱讀 2473

上篇:

set集合是乙個無序不重複元素的集,基本功能包括關係測試和消除重複元素。集合使用大括號({})框定元素,並以逗號進行分隔。但是注意:如果要建立乙個空集合,必須用 set() 而不是 {} ,因為後者建立的是乙個空字典。

集合資料型別的核心在於自動去重。

s = set([1,1,2,3,3,4])

s # 自動去重

-------------------------------------

>>> set("this is test") # 對於字串,集合會把它乙個乙個拆開,然後去重,空格是空格去重

通過add(key)方法可以新增元素到set中,可以重複新增,但不會有效果:

s = 

s.add(5)

ss.add(5)

可以通過update()方法,將另乙個物件更新到已有的集合中,這一過程同樣會進行去重。

>>> s

>>> s.update("json")

>>> s

通過remove(key)方法刪除指定元素,或者使用pop()方法。注意,集合的pop方法無法設定引數,刪除指定的元素:

s

s.remove("n")

s.pop() # 彈出第乙個元素

1s.pop(3)

traceback (most recent call last):

file "", line 1, in s.pop(3)

typeerror: pop() takes no arguments (1 given)

需要注意的是,集合不能取出某個元素,因為集合既不支援下標索引也不支援字典那樣的通過鍵值對獲取。

除了add、clear、copy、pop、remove、update等集合常規操作,剩下的全是數學意義上的集合操作,交並差等等

對集合進行交並差等,既可以使用union一類的英文方法名,也可以更方便的使用減號表示差集,「&」表示交集,「|」表示並集 。

x = set('runoob')

y = set('google')

x, y

(set(['b', 'r', 'u', 'o', 'n']), set(['e', 'o', 'g', 'l'])) # 重複的被刪除

x & y # 交集

set(['o'])

x | y # 並集

set(['b', 'e', 'g', 'l', 'o', 'n', 'r', 'u'])

x - y # 差集

set(['r', 'b', 'u', 'n'])

集合資料型別屬於python內建的資料型別,但不被重視,在很多書籍中甚至都看不到一點介紹。其實,集合是一種非常有用的資料結構,它的去重和集合運算是其它內建型別都不具備的功能,在很多場合有著非常重要的作用,比如網路爬蟲。

Python學習筆記 集合(set)

什麼是set set集合,元素是無序 存放順序與輸出順序不同 不重複 元素是唯一的 的用於儲存不允許重複的元素,也可以用於快速去重 底層原理 集合是乙個雜湊表 雜湊表 無序,不重複 建立set1 set 宣告乙個空集合 set2 宣告乙個非空集合 set0 宣告乙個字典!不是空集合訪問 增刪改查se...

python筆記 set集合

集合 set 是由乙個或數個形態各異的大小整體組成的,構成集合的事物或物件稱作元素或是成員。基本功能是進行成員關係測試和刪除重複元素。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用set 而不是 因為 是用來建立乙個空字典 set是乙個無序不重複元素值,作為乙個無序的集合,s...

python學習 集合set

num type num num2 type num2 這兩個大括號的型別明顯不一樣 num的型別是字典而num2的型別則是集合 集合集合具有唯一性 num2 num2 集合不會列印重複的東西 集合不支援索引 num2 2 traceback most recent call last file l...