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

歡迎訪問 生活随笔!

生活随笔

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

python

python集合类型_Python 的集合(set)类型

發布時間:2025/3/13 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python集合类型_Python 的集合(set)类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文簡單介紹了Python語言里set類型自帶的方法,set類型表示元素和集合的從屬關系(membership),和列表等序列相比,最大的特點是無序。可以跟數學里的集合概念完全對應起來。

目錄

概念

數學里的集合概念,在Python語言里對應的是set類型。與list,tuple不同的地方是,set更加強調的是一種“從屬關系”(membership),跟順序無關,所以有重復的元素會先排除。

>>> set([1, 1, 1, 1, 2, 3])

set([1, 2, 3]) #重復元素被排除

>>> set([3, 2, 1])

set([1, 2, 3]) #無序的集合

>>>

set類型的創建

花括號用來創建set類型的變量,這與字典很類似,只是缺少了value,后面會逐漸發現,set類型和字典的key有一些類似之處,比如:無序、不可重復、必須是hashable的,所以用花括號表示,是理所當然的。

set類型還有一種標準的表示法是 set([…]) ,例如

>>> {'a','b'}

set(['a', 'b'])

>>>

set添加元素

set類型有內置函數add用來給set添加元素

>>> A = {'a','b'}

>>> A.add('c')

>>> A

set(['a', 'c', 'b'])

>>>

set更新元素

set類型有四個內置update函數用來給set添加元素,對應于Python 的集合運算中的4種運算

并集更新

與add類似,只是添加的不是單個元素,而且另一個集合,這和字典的update函數功能非常相似。最后的結果是兩個集合的并集

>>> A = {'a','b'}

>>> A.update({'c', 'd'}) #iterable的參數都可以傳遞

>>> A

set(['a', 'c', 'b', 'd'])

>>>

另一種寫法是:@|=@

>>> A = {'a','b'}

>>> A |= {'c', 'd'}

>>> A

set(['a', 'c', 'b', 'd'])

>>>

交集更新

內置函數intersection_update返回的結果是兩個集合的交集

>>> A = {'a','b'}

>>> A.intersection_update({'b', 'd'}) #iterable的參數都可以傳遞

>>> A

set(['b'])

>>>

另一種寫法是 &=

>>> A = {'a','b'}

>>> A &= {'b', 'd'}

>>> A

set(['b'])

>>>

差集更新

內置函數difference_update返回的結果是兩個集合的差集

>>> A = {'a','b'}

>>> A.difference_update({'b', 'd'}) #iterable的參數都可以傳遞

>>> A

set(['a'])

>>>

另一種寫法是 -=

>>> A = {'a','b'}

>>> A -= {'b', 'd'}

>>> A

set(['a'])

>>>

對稱差集更新

內置函數symmetric_difference_update返回的結果是兩個集合的對稱差集

>>> A = {'a','b'}

>>> A.symmetric_difference_update({'b', 'd'}) #iterable的參數都可以傳遞

>>> A

set(['a', 'd'])

>>>

另一種寫法是 ^=

>>> A = {'a','b'}

>>> A ^= {'b', 'd'}

>>> A

set(['a', 'd'])

>>>

set移除元素

remove函數

set類型有好幾個內置函數用來從set中移除已有的元素,首先是remove函數,如果remove的元素不存在,會拋出KeyError異常。

>>> A = {'a','b'}

>>> A.remove('c')

Traceback (most recent call last):

File "", line 1, in

A.remove('c')

KeyError: 'c'

>>>

discard函數

若要不拋出異常,可以使用discard函數

>>> A = {'a','b'}

>>> A.discard('c')

>>> A

set(['a', 'b'])

>>>

pop函數

上述兩個函數都是指定set中某一個元素,而pop函數無需指定元素,每次運行時會刪除任意一個元素,并返回這個元素的值。當set為空時,拋出 KeyError

>>> A = {'a','b'}

set(['a', 'b'])

>>> A.pop()

'a'

>>> A.pop()

'b'

>>> A.pop()

Traceback (most recent call last):

File "", line 1, in

A.pop()

KeyError: 'pop from an empty set'

>>>

清空set

set的內置函數 clear 用來清空set

>>> A = {'a','b'}

set(['a', 'b'])

>>> A.clear()

>>> A

set([])

>>>

set comprehension

與list、dict類似,set類型也能有comprehension的構造法:

>>> {i for i in range(10)}

set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

>>>

總結

以上是生活随笔為你收集整理的python集合类型_Python 的集合(set)类型的全部內容,希望文章能夠幫你解決所遇到的問題。

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