Set (集合)
1 Set 定義:set可以用{}表示,但是不能用s{}這樣定義,如果這樣寫,python編輯器會默認爲是字典。
這樣定義就不會是字典,裏面加一些內容。
2 元祖和列表是有序的,集合是無序的且集合中的元素不重複。(python根據集合中的每個元素的hash值來判斷元素是否重複,所以集合中的每個元素必須是可hash的對象,在python中如果一個對象有一個_hash_的方法,表示該對象可hash)
3 集合的操作。
(1)add(添加的數是隨機加入集合的)
(2)update(就相當於list中的extend方法,將迭代器中的元素追加到集合中)
(3)remove 刪除集合裏的某個元素,如果集合內無此元素那麼就會報錯。
(4)discard 刪除集合內某個元素,如果集合內無此元素不做任何操作。
(5)pop隨機刪除某個元素,並返回改元素。(返回的元素如果是要用可以用一個變量接受)
(6)clear清空集合。
4 集合的運算
(1.1 ) difference 兩個集合的差集,不修改原來的集合。
S1.difference(s2) 表示在s1集合裏有的元素在s2集合裏沒有。
# s1 – s2 也表示的是difference。
(1.2) difference_update 兩個集合的差集,但修改了原來集合的內容,不返回值。(這些例子是s1相對於s2)
S1={1,2,3,4,’a’} s2={3,4,5,6,’c’,’b’}
(2.1)intersection兩個集合的交集,返回值,不修改原來集合的內容。
(2.2)intersection_update兩個集合的交集,無返回值,修改原來集合的內容。
# s1 & s2 可以直接求兩個集合的交集
(3.1)union 兩個集合的並集,無返回值,不修改原來的集合內容。
(4.1)isdisjoint查看兩個集合是否有交集,Flase是無,True是有(每個python的解釋器版本一樣返回值也不一樣,此例是2.7.1)
(4.2)issubset 查看是否有子集。
5 集合不能切片。