文章目錄
建立集合
使用Factory 方法 set()和 frozenset():
>>> s = set('cheeseshop')>>> sset(['c', 'e', 'h', 'o', 'p', 's'])>>> t = frozenset('bookshop')>>> tfrozenset(['b', 'h', 'k', 'o', 'p', 's'])>>> type(s)<type 'set'>>>> type(t)<type 'frozenset'>
更新集合
用各種集合內建的方法和操作符添加和刪除集合的成員:
>>> s.add('z')>>> sset(['c', 'e', 'h', 'o', 'p', 's', 'z'])>>> s.update('pypi')>>> sset(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z'])>>> s.remove('z')>>> sset(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y'])>>> s -= set('pypi')>>> sset(['c', 'e', 'h', 'o', 's'])
刪除集合
del s
成員關係 (in, not in)
>>> s = set('cheeseshop')>>> t = frozenset('bookshop')>>> 'k' in sFalse>>> 'k' in tTrue>>> 'c' not in tTrue
集合等價/不等價
>>> s == tFalse>>> s != tTrue>>> u = frozenset(s)>>> s == uTrue>>> set('posh') == set('shop')True
差補/相對補集( – )
兩個集合(s 和t)的差補或相對補集是指一個集合C,該集合中的元素,只屬於集合s,而不屬於集合t。差符號有一個等價的方法,difference().
>>> s - tset(['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]