Python基礎:集合

集合(set):把不同的元素組成一起形成集合,是python基本的數據類型。

集合分類:可變集合(set)、不可變集合(frozenset),創建方式一樣

集合特點:無序,唯一,速度快

 

1.創建集合

>>> s = set('ian')

>>> s

{'a', 'n', 'i'}

>>> len(s)

3

>>> li = ['apple','pear','peach']

>>> s = set(li)

>>> s

{'peach', 'pear', 'apple'}

>>> len(s)

3

 

2.訪問集合

由於集合本身是無序的,所以不能爲集合創建索引或切片操作,只能循環遍歷或使用in、not in來訪問或判斷集合元素。

>>> 'apple' in s

True

>>> 'banana' in s

False

>>> for i in s:

...     print(i)

...

peach

pear

apple

 

3.更新集和內容

add方法:是把要傳入的元素做爲一個整個添加到集合中

>>> a

{'peach', 'pear', 'apple'}

>>> a.add('banana')

>>> a

{'peach', 'banana', 'pear', 'apple'}

 

update方法:是把要傳入的元素拆分,做爲個體傳入到集合中

>>> a = set(['apple'])

>>> a

{'apple'}

>>> a.update('peach')

>>> a

{'c', 'p', 'apple', 'h', 'e', 'a'}

 

remove方法:刪除指定元素

>>> a

{'c', 'p', 'apple', 'h', 'e', 'a'}

>>> a.remove('apple')

>>> a

{'c', 'p', 'h', 'e', 'a'}

 

pop方法:刪除一個元素並返回

>>> a

{'h', 'e', 'a'}

>>> c = a.pop()

>>> a

{'e', 'a'}

>>> c

'h'

 

 

#remove和pop什麼區別?

#remove只是刪掉元素,需要接參數,無返回值

#pop是取出元素並賦值,不需要接參數,有返回值

 

4.集合操作符

交集

>>> a

{'e', 'a'}

>>> b

{'c', 'a', 'b'}

>>> a & b

{'a'}

>>> a.intersection(b)

{'a'}

 

並集(合集)

>>> a | b

{'e', 'a', 'c', 'b'}

 

 

差集

>>> a.difference(b)   #誰.difference, 就是循環的誰

{'e'}

>>> b.difference(a)

{'c', 'b'}

>>> a-b        #同difference

{'e'}

>>> b-a

{'c', 'b'}

 

對稱差

#你不在我裏面或是我也不在你裏面的值,兩個集合分別循環一次

#也可以理解爲兩個集合差集的並集

>>> a.symmetric_difference(b)   #哪個集合在前面都是一樣的

{'c', 'e', 'b'}

>>> b.symmetric_difference(a)

{'e', 'c', 'b'}

>>> (a-b)|(b-a)        #兩個集合兩次差集的並集

{'e', 'c', 'b'}


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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