零基礎入門Python3-set集合詳解


零基礎入門Python3-set集合

一、set集合

1、創建set集合

set(list or str or tuple)

# 實例1,傳入tuple

a=set((1,2,3,4,5,6))

print(type(a))

print(a)

>>>    <class 'set'>

           {1, 2, 3, 4, 5, 6}

# 實例2,傳入list進行創建

a=set([1,2,3,4,5,6])

print(type(a))

print(a)

>>>    <class 'set'>

           {1, 2, 3, 4, 5, 6}

# 實例3,使用str進行創建

a=set('python')

print(type(a))

print(a)

>>>    <class 'set'>

           {'o', 'p', 'n', 'y', 't', 'h'}

# 這里我們看到,輸出的set集合,字符串 'python'並不是按照順序進行排序的,也驗證了我們最開始的話。

 

2、set 的添加 和 刪除

(1)set 的添加

    變量 . add(str or tuple)

    # add 對傳入的數據不會進行拆解

    變量 . update()

    # update 會對傳入的數據進行拆解

# 實例1

a={1,2}

print(type(a),a)

a.add('python')

print(type(a),a)

>>>    <class 'set'> {1, 2}

           <class 'set'> {1, 2, 'python'}

# 實例2

a={1,2}

print(type(a),a)

a.update('python')

print(type(a),a)

>>>    <class 'set'> {1, 2}

           <class 'set'> {1, 2, 'y', 'o', 'n', 't', 'p', 'h'}

 

(2)set 的刪除

變量 . remove(元素)    # 當元素不存在的時候,會報錯

變量 . discard(元素)    # 當元素不存在的時候,不會報錯

# 實例1

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

print(b)

b.remove('a')

print(b)

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

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

# 用remove刪除元素的時候,如果元素不存在,那么就會報錯

# 實例2

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

print(b)

b.discard(3)

print(b)

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

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

 

(3)set去重的特性

也就是set中的元素是不容許有重復出現的。

# 實例

a=[1,2,2,2,3,4,4,5,6,7,7]

print(a)

b=set(a)

print(b)

>>>    [1, 2, 2, 2, 3, 4, 4, 5, 6, 7, 7]

          {1, 2, 3, 4, 5, 6, 7}

# 當 list 轉換成 set 的時候,set自動刪除重復的元素。

 

3、集合

a={1,2,3,4,5,6}

b={4,5,6,7,8,9}

 

# 1     issubset  等同於 <= 

print(a.issubset(b))    # 測試a中的每一個元素是否都在b中

print(a<=b)    #這兩個表示的意思都是一樣的

>>>     False

            False

 

# 2    issuperset  等同於 >=

print(a.issuperset(b))    # 測試 b 的元素是否都在 a 中

print(a>=b)

>>>    {1, 2, 3, 4, 5, 6, 7, 8, 9}

           False

           False

# 3    union 和 |  是並集的意思

print(a|b)

print(a.union(b))

>>>    {1, 2, 3, 4, 5, 6, 7, 8, 9}

           {1, 2, 3, 4, 5, 6, 7, 8, 9}

# 並集之后,set會對元素進行去重

# 4    intersection 和 &  是交集的意思

print(a.intersection(b))

print(a&b)

>>>    {4, 5, 6}

           {4, 5, 6}

# 交集就是兩個set的都有的元素

# 5    difference 和 — 

print(a.difference(b))

print(a-b)

>>>    {1, 2, 3}

           {1, 2, 3}

# 返回 a 中有,而 b 中沒有的元素

# 6    symmetric_difference 和 ^ 

print(a.symmetric_difference(b))

print(a^b)

>>>    {1, 2, 3, 7, 8, 9}

           {1, 2, 3, 7, 8, 9}

# 返回 a 和 b 中不重復的元素

# 7 特別需要注意:

a={1,2,3,4,5,6}

b={4,5,6,7,8,9}

c=a|b

print(type(c))

print(c)

>>>    <class 'set'>

           {1, 2, 3, 4, 5, 6, 7, 8, 9}

# 所有集合的運算結果返回的都是 set 類型。

# 8    set 的淺復制

d=a.copy()

print(d)

>>>    {1,2,3,4,5,6}

# 9    set的深復制,暫且不談,以后會提到 

關注公眾號,了解更多!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM