1. 程式人生 > 其它 >【人生苦短,我學 Python】基礎篇——集合(Day11)

【人生苦短,我學 Python】基礎篇——集合(Day11)

技術標籤:人生苦短,我學Pythonpython集合set

寫在前面:大家好!我是【AI 菌】,一枚愛彈吉他的程式設計師。我熱愛AI、熱愛分享、熱愛開源! 這部落格是我對學習的一點總結與記錄。如果您也對 深度學習、機器視覺、演算法、Python、C++ 感興趣,可以關注我的動態,我們一起學習,一起進步~
我的部落格地址為:【AI 菌】的部落格
我的Github專案地址是:【AI 菌】的Github

-> 前往【人生苦短,我學 Python】總目錄 <-

文章目錄

一、集合

(1) 集合介紹

集合(set)是一個無序的不重複元素序列,這和數學中的集合概念類似。在Python中,可以使用大括號 { } 或者 set() 函式建立集合。

需要注意的是:建立一個空集合必須用 set() 而不是 { }, 因為 { } 是用來建立一個空字典。

(2) 建立集合

1、由於{ } 是用來建立一個空字典。所以建立一個空集合,只能通過set()來建立,演示如下:

a = set()

2、建立一個普通集合,直接用大括號{}來建立,演示如下:

a = {1, 2, 3, 4, 5}
print(a)

輸出結果:

{1
, 2, 3, 4, 5}

除此之外,也可以通過set()來建立:

b = set("abc121")
print(b)

輸出結果:

{'b', '1', '2', 'c', 'a'}

輸出的元素順序和建立時的順序不同。可見,集合裡的元素是無須的,並且是不可重複的。

(3) 集合運算

下面來演示兩個集合間的不同運算:.

a = set("ac123")
b = set("abc121")
print(a)
print(b)

print("集合a中包含而集合b中不包含的元素:", a - b)
print("集合a或b中包含的所有元素:"
, a | b) print("集合a和b中都包含了的元素:", a & b) print("不同時包含於a和b的元素", a ^ b)

輸出結果如下:

{'1', 'a', 'c', '3', '2'}
{'1', 'a', 'c', 'b', '2'}
集合a中包含而集合b中不包含的元素: {'3'}
集合a或b中包含的所有元素: {'1', 'a', 'c', '3', 'b', '2'}
集合a和b中都包含了的元素: {'c', '1', 'a', '2'}
不同時包含於a和b的元素 {'3', 'b'}

二、集合的基本操作

(1) 新增元素

向已有集合中新增新的元素,有以下兩種方式:

1、使用 set.add(x) 向集合中新增新個元素x,演示如下:

a = {1, 2, 3}
a.add(6)
print(a)

輸出結果:

{1, 2, 3, 6}

注:如果元素已存在,則不進行任何操作。

2、使用方法set.update(x)也可以新增元素,且引數可以是列表,元組,字典等,演示如下:

a = {"a", "b", "c"}
a.update({"d", "e"})
print(a)

輸出結果:

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

除此之外,新增的元素也可以是列表、元組等:

a = {"a", "b", "c"}
a.update((1, 2), (3, 4))
print(a)

輸出結果:

{1, 'b', 2, 3, 4, 'c', 'a'}

(2) 刪除元素

刪除集合中的元素,有以下三種方式:

1、使用方法set.remove(x)將集合中元素x刪除,演示如下:

a = {"a", "b", "c"}
a.remove("b")
print(a)

輸出結果:

{'c', 'a'}

注:如果刪除的元素不存在,則會發生報錯。

2、使用set.discard()也可刪除集合中的元素,且如果元素不存在,不會發生錯誤。演示如下:

a = {"a", "b", "c"}
a.discard("b")
print(a)

輸出結果:

{'a', 'c'}

3、也可以通過set.pop()隨機刪除集合中的一個元素,演示如下:

a = {"a", "b", "c"}
a.pop()
print(a)

輸出結果:

{'a', 'b'}

注:由於是隨機刪除,所以每次輸出的結果可能不一樣

(3) 判斷元素是否在集合中

使用語法:x in set,可以判斷元素 x 是否在集合 set 中,存在返回 True,不存在則返回 False。演示如下:

set1 = {"a", "b", "c"}
if "b" in set1:
    print("b存在集合中")
else:
    print("b不存在集合中")

輸出結果:

b存在集合中

三、集合內建函式

在Python集合中,提供了一些內建的函式和方法,極大地方便了開發者處理集合相關的資料,下面總結了一些常用的集合內建函式,如下表所示:

函式功能描述
set.add(x)為集合新增元素
set.update(x)為集合新增元素(列表、元組、字典)
set.remove(x)刪除集合中的元素x
set.discard(x)刪除集合中的元素x
set.pop()隨機刪除集合中的一個元素
set.clear()清空集合,使之成為一個空集合
set.copy()拷貝一個集合
set.intersection(set1, set2 … etc)返回兩個或更多集合中都包含的元素,即交集
set.union(set1, set2…)返回兩個集合的並集,即包含了所有集合的元素
set1.difference(set2)計算集合set1與集合set2的差集

-> 回到【人生苦短,我學 Python】總目錄 <-

在這裡插入圖片描述
由於水平有限,部落格中難免會有一些錯誤,有紕漏之處懇請各位大佬不吝賜教!