接著上次的講解的繼續。
3、set
集合可以看作是一種特殊的陣列,但是和陣列的操作又有所不同,再集合中,還包含了交、差、並等運算。集合在初始化時,需要呼叫set函式,例如下面的**
s =
set([1
,2,3
,2,2
,4])
print
(s)
直接結果如下圖,
交
交是指兩個集合共有的部分,可以使用&
符合和intersection
方法,下面是求s1和s2兩個集合的交集
s1 =
set([1
,2,3
,4,5
,6])
s2 =
set([3
,4,5
,6,7
,8,9
])print
(s1 & s2)
print
(s1.intersection(s2)
)
執行結果如下
並
並指的是兩個集合的全部元素,可以使用|
符合和union
方法,下面是求s1和s2兩個集合的並集
s1 =
set([1
,2,3
,4,5
,6])
s2 =
set([3
,4,5
,6,7
,8,9
])print
(s1 | s2)
print
(s1.union(s2)
)
執行結果是
差
差指的是另乙個集合不存在的元素,可以使用-
符合和difference
方法,
s1 =
set([1
,2,3
,4,5
,6])
s2 =
set([3
,4,5
,6,7
,8,9
])print
(s1 - s2)
print
(s1.difference(s2)
)
執行結果是
對稱差
對稱差指的是兩個集合的並減去兩個集合的交,即(a|b)-(a&b),可以使用^
符合和symmetric_difference
方法,
s1 =
set([1
,2,3
,4,5
,6])
s2 =
set([3
,4,5
,6,7
,8,9
])print
(s1 ^ s2)
print
(s1.symmetric_difference(s2)
)
執行結果如下圖所示,兩個集合去除了公共部分的。
查詢
集合的查詢和字典查詢類時,採用if value in set
語法進行操作。
插入
在集合中,插入方法有add
和update
。add
方法是向集合中增加乙個元素,update
方法是向集合中增加集合。
s =
set([1
,2])
print
(s)s.add(3)
print
(s)s.update(
set([5
,6,7
]))print
(s)
執行結果如下,首先向集合中增加3,然後向集合中怎麼乙個新的集合。
刪除
集合中的刪除採用remove
方法,刪除特定的值
s =
set([1
,2,3
,4,5
,6])
print
(s)s.remove(4)
print
(s)
執行結果如下圖所示,4從集合中移除了
遍歷
遍歷和陣列類似,採用for value in set
語法格式進行遍歷。
s =
set([1
,2,3
,4,5
,6])
for value in s:
print
(value)
python學習之容器(一)
在python中,容器主要有list,tuple dict 和set。1 list list在其他語言中,可以看組是乙個陣列,和c語言相同的是索引從0開始 2 tuple 靜態的list,陣列中的元素無法修改 3 dict 字典,可以看作是key value形式,4 set 集合,高中數學課本就講過...
Python學習 「容器」
資料型別分為基本資料型別和組合資料型別,今天我們先來說一下組合資料型別。我們的組合資料型別分為列表 元組 集合 字典,我們接下來詳細的說一下這四個型別。舉例1 著名的nba球星有喬丹 科比 詹姆斯 庫里 杜蘭特,用列表表示 nba 喬丹 科比 詹姆斯 杜蘭特 庫里 舉例2 王者榮耀裡的 分別是6,2...
python之Collections容器資料型別
1 ordereddict字典的子類 常規dict並不跟蹤插入順序,迭代處理時會根據鍵在雜湊表中儲存的順序來生成值。import collections a a d 1 a c 3 a b 4 a for k,v in a.items print k,v c 3b 4 d 1 在ordereddic...