人生苦短,我選Python
前文傳送門python
小白學 Python(2):基礎數據類型(上)github
集合和列表、字典、元組等同樣,都提供了不少的內置方法。
既然是集合,那咱們先看下這張經典的韋恩圖(Venn diagram):
具體的實現代碼以下:
set1 = {1, 2, 3, 4, 5, 6} set2 = {4, 5, 6, 7, 7, 9} # 求交集 set3 = set1.intersection(set2) print('交集:', set3) # 求並集 set4 = set1.union(set2) print('並集:', set4) # 作差 set5 = set1.difference(set2) print('作差:', set5)
結果以下:
交集: {4, 5, 6} 並集: {1, 2, 3, 4, 5, 6, 7, 9} 作差: {1, 2, 3}
做用:爲集合添加元素
set6 = {1, 2, 3} set6.add(4) print(set6) set6.add('python') print(set6) set6.add((1, 2)) print(set6)
結果以下:
{1, 2, 3, 4} {1, 2, 3, 4, 'python'} {(1, 2), 1, 2, 3, 4, 'python'}
做用:給集合添加元素
set7 = {1, 2} set7.update({3, 4, 'python', (4, 5)}) print(set7)
結果以下:
{1, 2, 3, 4, 'python', (4, 5)}
好像看起來 update()
和 add()
功能是同樣的,區別在於 add()
參數只能是單個元素,而 update()
中的參數是一個 set 集合。
做用:隨機移除元素。
set7.pop() print(set7)
結果以下:
{2, 3, 4, 'python', (4, 5)}
隨機刪除,我的感受功能可能有點沒什麼實際做用,畢竟是隨機刪除。。。
做用:移除指定元素。
相比較上面 pop()
的隨機刪除,在刪除元素的時候更多的咱們是使用的 remove()
或者下面咱們將要介紹的 discard()
。
set8 = {1, 2, 3, 4} set8.remove(4) print(set8)
結果以下:
{1, 2, 3}
若是刪除的元素不存在,則會直接報錯。
set8.remove(9)
結果以下:
Traceback (most recent call last): File "F:/project/python-learning/base-data-set/Demo1.py", line 34, in <module> set8.remove(9) KeyError: 9
做用:刪除集合中指定的元素,元素不存在則什麼都不作。
set8.discard(9) print(set8)
結果以下:
{1, 2, 3}
做用:清除集合中的全部元素,並不會清除集合。
set9 = {1, 2, 3} set9.clear() print(set9)
結果以下:
set()
做用:判斷兩個集合是否包含相同的元素,若是沒有返回 True,不然返回 False。
set10 = {1, 2, 3} set11 = {1, 2} set12 = {4, 5} print(set10.isdisjoint(set11)) print(set10.isdisjoint(set12))
結果以下:
False True
做用:判斷指定集合是否爲該方法參數集合的子集。
print(set11.issubset(set10)) print(set12.issubset(set10))
結果以下:
True False
做用:判斷該方法的參數集合是否爲指定集合的子集。
print(set10.issuperset(set11)) print(set10.issuperset(set12))
結果以下:
True False
注意哦, issubset()
和 issuperset()
是不同的哦,看起來都是判斷子集,可是參數的含義是不同的。
各位同窗必定要本身動手敲代碼哦~~
本系列的全部代碼小編都會放在代碼管理倉庫 Github 和 Gitee 上,方便你們取用。
若是個人文章對您有幫助,請掃碼關注下做者的公衆號:獲取最新干貨推送:)