集合(set)是乙個無序的不重複元素序列。
可以使用大括號 或者 set() 函式建立集合,注意:建立乙個空集合必須用 set() 而不是 ,因為 是用來建立乙個空字典。
建立集合 : s =
>>> set_test = set('hello')
>>> set_test
>>> set_test = set('hello')
>>> set_test
# 由此可見集合中的元素不可重複,都是不同的
>>> n_set_test = frozenset(set_test)
>>> n_set_test
frozenset()
>>> s =
>>> s2 =
>>> print("差集:",s.difference(s2)) # 去除s和s2中相同元素,刪除s2 保留s中剩餘元素
>>> s =
>>> s1 =
>>> s2 =
>>> s.difference_update(s2)
>>> s
>>> s =
>>> s2 =
>>> s.intersection(s2)
>>> s&s2 # 可以達到相同的效果
>>> s =
>>> s2 =
>>> s.intersection_update(s2) # 相當於s = s - s2
>>> s
>>> s =
>>> s2 =
>>> s.symmetric_difference(s2)
>>> s =
>>> s2 =
>>> print(s.union(s2))
>>> s =
>>> s.update(['t', 'h', 'o', 'n']) # 新增多個元素
>>> s
>>> s =
>>> s1 =
>>> s2 =
>>> s.issubset(s1)
true # 因為 s1 集合 包含 s 集合
>>> s =
>>> s1 =
>>> s2 =
>>> s.issuperset(s1)
false # s 集合不包含 s1 集合
>>> s.issuperset(s2)
true # s 集合包含 s2 集合
上述操作符表達了集合型別的四種基本操作:交集,並集,差集,補集,操作邏輯與數學定義相同。
>>> s =
>>> s.add("s")
>>> s
>>> s =
>>> s.clear()
>>> s
set()
>>> s =
>>> new_s = s.copy()
>>> new_s
>>> s =
>>> s.pop() # pop刪除時是無序的隨機刪除
1
>>> s =
>>> s.discard("sb")
>>> s
>>> s =
>>> s.remove(3)
>>> s
>>> s =
>>> s1 =
>>> s2 =
>>> s.isdisjoint(s1)
true
>>>s =
>>>len(s)
2
我們有時候要將乙份資料的原始內容保留乙份,再去處理資料,python為這種需求提供了copy模組。提供了兩種主要的copy方法,一種是普通的copy,另一種是deepcopy。我們稱前者是淺拷貝,後者為深拷貝。
#淺拷貝
a = [[1,2],3,4]
b = a.copy()
b[2] = 5
b[0][0] = 7
print(a,b)
#深拷貝
import copy
a = [[1,2],3,4]
b=copy.deepcopy(a)
b[1] = 5
b[0][1] = 7
print(a,b)
借鑑文章【部落格】( Python中的集合
python中的集合 一 定義 集合是由一組元素組成。集合中的元素只包含值。需注意兩點 1 集合中的元素是無序的。2 每個元素是唯一的。二 建立集合 語法 set name set 新增 用set name.add 填充集合 語法 set name 三 獲取資訊 因為集合裡面沒有索引值所以判斷某個元...
python中的集合
集合 和數學概念中的結合類似,集合裡面的元素不可重複,所以可以用來做快速去重。集合裡面的元素不可重複s print s,type s 列印出來重複多次的元素只會列印一次定義乙個空集合s1 如果這樣定義,那麼預設情況下是dict print type s1 這時s1的資料型別是dict s2 set ...
python中的集合
set 是乙個無序不重複元素序列可以使用 或者set 來建立集合 建立空的集合必須使用set 因為 是用來建立乙個新的字典 建立 s print s print type s 列印結果 去掉重複的數字 型別為set集合for迴圈,成員操作 s print 1 in s print 1 not in ...