python學習筆記 集合

2021-09-08 23:16:47 字數 1545 閱讀 1644

使用工廠方法 set()和 frozenset():

>>> s = set('cheeseshop')

>>> s

set(['c', 'e', 'h', 'o', 'p', 's'])

>>> t = frozenset('bookshop')

>>> t

frozenset(['b', 'h', 'k', 'o', 'p', 's'])

>>> type(s)

>>> type(t)

用各種集合內建的方法和操作符新增和刪除集合的成員:

>>> s.add('z')

>>> s

set(['c', 'e', 'h', 'o', 'p', 's', 'z'])

>>> s.update('pypi')

>>> s

set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z'])

>>> s.remove('z')

>>> s

set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y'])

>>> s -= set('pypi')

>>> s

set(['c', 'e', 'h', 'o', 's'])

刪除集合

del s
成員關係 (in, not in)

>>> s = set('cheeseshop')

>>> t = frozenset('bookshop')

>>> 'k' in s

false

>>> 'k' in t

true

>>> 'c' not in t

true

集合等價/不等價

>>> s == t

false

>>> s != t

true

>>> u = frozenset(s)

>>> s == u

true

>>> set('posh') == set('shop')

true

差補/相對補集( – )

兩個集合(s 和t)的差補或相對補集是指乙個集合c,該集合中的元素,只屬於集合s,而不屬於集合t。差符號有乙個等價的方法,difference().

>>> s - t

set(['c', 'e'])

對稱差分( ^ ):對稱差分是集合的xor

利用集合去除列表中的重複元素

>>> xs = [5, 8, 5, 1, 1, 4, 2, 4, 3, 2]

>>> set(xs)

set([1, 2, 3, 4, 5, 8])

>>> sorted(set(xs), key=xs.index) # 保持原來的順序

[5, 8, 1, 4, 2, 3]

Python學習筆記 字典 集合

一 字典dict 字典是python唯一的對映型別,區別序列型別和基本資料型別。1 建立,下面幾種方式都可以建立字典,注意,a 建立的是空字典,而不是集合。這裡,dict是工廠函式,同樣的,list str tuple也是工廠函式。要注意,dict對鍵的要求較為嚴格,必須是可雜湊物件。2 索引 因為...

python之集合學習筆記

按我的理解,集合類似於數學中的集合這一概念。集合有以下幾個特性 1.集合內的元素是無序的,這和列表與元組不同,後兩者因為有序,所以可以用切片操作和下標索引。但集合不行。2.集合只能用工廠方法來生成,函式有兩個 set 與frozenset 分別是可變與不可變的集合工廠函式。a set beyond ...

Python學習筆記 字典,集合

字典 定義 dict 注意事項 多個元素使用逗號 分割 乙個元素以 key value的形式定義key必須為不可變型別,value可以是任意物件 d type d 檢視字典型別子典的訪問與新增 dict name key 的形式訪問key對應的value 我們可以通過 dict name key v...