python-集合

                    Set (集合)

1 Set 定義:set可以用{}表示,但是不能用s{}這樣定義,如果這樣寫,python編輯器會默認爲是字典。

wKioL1deFP7CdPelAAAGA__3jps738.png            

這樣定義就不會是字典,裏面加一些內容。

wKiom1deFF3wh_6KAAADutYCnjg262.png 

2 元祖和列表是有序的,集合是無序的且集合中的元素不重複。(python根據集合中的每個元素的hash值來判斷元素是否重複,所以集合中的每個元素必須是可hash的對象,在python中如果一個對象有一個_hash_的方法,表示該對象可hash)

wKiom1deFGzRfyqJAAAETFEkLx0950.png

3 集合的操作。

(1)add(添加的數是隨機加入集合的)

wKioL1deFb_xtQ1XAAAGgWeF9mI878.png

(2)update(就相當於list中的extend方法,將迭代器中的元素追加到集合中)

wKioL1deFdGTMuvAAAAGrf-Tc44752.png

(3)remove 刪除集合裏的某個元素,如果集合內無此元素那麼就會報錯。

wKioL1deFfOBH4J2AAAM2LD-e8c448.png

(4)discard 刪除集合內某個元素,如果集合內無此元素不做任何操作。

wKiom1deFPqwIvg-AAAI8D2GpJ8868.png

(5)pop隨機刪除某個元素,並返回改元素。(返回的元素如果是要用可以用一個變量接受)

wKioL1deFh6gwcPNAAAF_Ptv10s429.png

(6)clear清空集合。

wKioL1deFi-DGQ9lAAADD2RDH4k220.png

4  集合的運算

(1.1 ) difference 兩個集合的差集,不修改原來的集合。

wKioL1deFkDhaIqpAAAGUzyghgE422.png    

wKiom1deFq2TOliXAAAHYCK-vnk617.png

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’}

wKiom1deFtmBhYyQAAAJr9C9w-k797.png

(2.1)intersection兩個集合的交集,返回值,不修改原來集合的內容。

wKiom1deFueR52V9AAAJkEWKRIM887.png

(2.2)intersection_update兩個集合的交集,無返回值,修改原來集合的內容。

wKiom1deFvawDBYmAAAGEERT5O8866.png

# s1 & s2 可以直接求兩個集合的交集

(3.1)union 兩個集合的並集,無返回值,不修改原來的集合內容。

wKioL1deGBbylr8GAAAWAoPmnTU992.png

(4.1)isdisjoint查看兩個集合是否有交集,Flase是無,True是有(每個python的解釋器版本一樣返回值也不一樣,此例是2.7.1)

wKioL1deGCyi4m24AAAEqqe2Ync250.png

(4.2)issubset 查看是否有子集。

5 集合不能切片。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章