日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

零基础入门Python3-set集合详解

發(fā)布時間:2024/4/15 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 零基础入门Python3-set集合详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

零基礎(chǔ)入門Python3-set集合

一、set集合

1、創(chuàng)建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進行創(chuàng)建

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

print(type(a))

print(a)

>>>????<class 'set'>

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

# 實例3,使用str進行創(chuàng)建

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 對傳入的數(shù)據(jù)不會進行拆解

????變量 . update()

????# update 會對傳入的數(shù)據(jù)進行拆解

# 實例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中的元素是不容許有重復(fù)出現(xiàn)的。

# 實例

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 轉(zhuǎn)換成 set 的時候,set自動刪除重復(fù)的元素。

?

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 中不重復(fù)的元素

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

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

# 8 ? ?set 的淺復(fù)制

d=a.copy()

print(d)

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

# 9????set的深復(fù)制,暫且不談,以后會提到?

關(guān)注公眾號,了解更多!

轉(zhuǎn)載于:https://www.cnblogs.com/pyshadow/p/10400280.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的零基础入门Python3-set集合详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。