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

歡迎訪問 生活随笔!

生活随笔

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

python

python集合的操作_Python集合操作方法详解

發布時間:2023/12/19 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python集合的操作_Python集合操作方法详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

集合是無序的,天生不重復的數據組合,它的作用如下:

去重,即:把一個列表變成集合,就去重了

關系測試,即:測試兩組集合的交集、并集和差集等

一、集合常用方法總結

二、定義

1、語法

>>> name_1 = [1,2,3,4,7,8,7,10]

#把列表轉換為集合

>>> name_1 = set(name_1)

#轉換后,去重

>>> print(name_1,type(name_1))

{1, 2, 3, 4, 7, 8, 10}

三、關系測試

1、交集(intersection())

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_2 = [1,3,5,8,10]

>>> name_1 = set(name_1)

>>> name_2 = set(name_2)

#輸出結果

>>> name_1.intersection(name_2)

{8, 1, 10, 3}

2、并集(union())

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_2 = [1,3,5,8,10]

>>> name_1 = set(name_1)

>>> name_2 = set(name_2)

#輸出結果

>>> name_1.union(name_2)

{1, 2, 3, 4, 5, 7, 8, 10}

3、差集(difference())

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_2 = [1,3,5,8,10]

>>> name_1 = set(name_1)

>>> name_2 = set(name_2)

#輸出結果

>>> name_1.difference(name_2)

{2, 4, 7}

特別提示:差集取的是數值在第一個集合中,但是不在第二個集合中(在我不在你)

4、issubset()

判斷一個集合是否是另一個集合的子集

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_3 = [1,2,3,4]

>>> name_1 = set(name_1)

>>> name_3 = set(name_3)

#輸出結果

>>> name_3.issubset(name_1)

True

5、issuperset()

判斷一個集合是否是另一個集合的父集

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_3 = [1,2,3,4]

>>> name_1 = set(name_1)

>>> name_3 = set(name_3)

#輸出結果

>>> name_1.issuperset(name_3)

True

6、對稱差集(symmetric_difference())

把兩個集合沒有交集的數值取出來

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_2 = [1,3,5,8,10]

>>> name_1 = set(name_1)

>>> name_2 = set(name_2)

#輸出結果

>>> name_1.symmetric_difference(name_2)

{2, 4, 5, 7}

7、isdisjoint()

判斷兩個集合是否有交集,沒有交集,則返回True

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_2 = [1,3,5,8,10]

>>> name_3 = [11]

>>> name_1 = set(name_1)

>>> name_2 = set(name_2)

>>> name_3 = set(name_3)

#有交集

>>> name_1.isdisjoint(name_2)

False

#無交集

>>> name_1.isdisjoint(name_3)

True

四、關系測試(特殊符號)

1、交集(&)

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_2 = [1,3,5,8,10]

>>> name_1 = set(name_1)

>>> name_2 = set(name_2)

#結果輸出

>>> name_1 & name_2

{8, 1, 10, 3}

2、并集(|)

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_2 = [1,3,5,8,10]

>>> name_1 = set(name_1)

>>> name_2 = set(name_2)

#結果輸出

>>> name_1 | name_2

{1, 2, 3, 4, 5, 7, 8, 10}

3、差集(-)

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_2 = [1,3,5,8,10]

>>> name_1 = set(name_1)

>>> name_2 = set(name_2)

#結果輸出

>>> name_1 - name_2

{2, 4, 7}

4、對稱差集(^)

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_2 = [1,3,5,8,10]

>>> name_1 = set(name_1)

>>> name_2 = set(name_2)

#輸出

>>> name_1 ^ name_2

{2, 4, 5, 7}

5、是否是子集(<=)

>>> name_1 = [1,2,3,4,7,8,10]

>>> name_3 = [1,2,3,4]

>>> name_1 = set(name_1)

>>> name_3 = set(name_3)

#輸出

>>> name_3 <= name_1

True

6、是否是父集(>=)

>>> name_1 = [1,2,3,4,7,8,10]

>>> name_3 = [1,2,3,4]

>>> name_1 = set(name_1)

>>> name_3 = set(name_3)

#輸出

>>> name_1 >= name_3

True

五、基本操作

1、添加(add())

>>> name_2 = [1,3,5,8,10]

>>> name_2 = set(name_2)

#添加已存在,不報錯

>>> name_2.add(1)

>>> name_2

{8, 1, 10, 3, 5}

#添加不存在,添加一個新的數值

>>> name_2.add(11)

>>> name_2

{1, 3, 5, 8, 10, 11}

2、添加多項(update())

>>> name_2 = [1,3,5,8,10]

>>> name_2 = set(name_2)

>>> name_2.update([12,13,14])

#輸出結果

>>> name_2

{1, 3, 5, 8, 10, 12, 13, 14}

3、刪除(remove(),pop(),discard())

①remove()

>>> name_2 = [1,3,5,8,10]

>>> name_2 = set(name_2)

>>> name_2

{8, 1, 10, 3, 5}

>>> name_2.remove(1)

#輸出

>>> name_2

{8, 10, 3, 5}

#刪除不存在的元素,會報錯

>>> name_2.remove(1)

Traceback (most recent call last):

File "", line 1, in

KeyError: 1

特別提示:用remove刪除時,當元素不存在,會報錯

②pop()

>>> name_2 = [1,3,5,8,10]

>>> name_2 = set(name_2)

>>> name_2

{8, 1, 10, 3, 5}

#輸出

>>> name_2.pop()

8

特別提示:pop是隨機刪除集合中的某個元素,并且打印

③discard()

>>> name_2 = [1,3,5,8,10]

>>> name_2 = set(name_2)

>>> name_2.discard(10)

#輸出結果

>>> name_2

{8, 1, 3, 5}

#刪除不存在元素,不報錯

>>> name_2.discard(10)

特別提示:用discard刪除不存在的元素,不會出現報錯

4、長度(len())

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_1 = set(name_1)

#結果輸出

>>> len(name_1)

7

5、x?in?s

測試 x 是否是 s 的成員

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_1 = set(name_1)

#結果輸出

>>> 1 in name_1

True

6、x?not?in?s

測試 x 是否不是 s 的成員

>>> name_1 = [1,2,3,4,7,8,7,10]

>>> name_1 = set(name_1)

#輸出

>>> 12 not in name_1

True

更多關于Python集合操作方法可查看下面的相關鏈接

本文標題: Python集合操作方法詳解

本文地址: http://www.cppcns.com/jiaoben/python/299941.html

總結

以上是生活随笔為你收集整理的python集合的操作_Python集合操作方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。