Python 學習筆記 集合的使用

2021-09-28 23:09:30 字數 4230 閱讀 3341

集合(set)是乙個無序的不重複元素序列。

可以使用大括號 或者 set() 函式建立集合。

【注意】建立乙個空集合必須用 set() 而不是 ,因為 是用來建立乙個空字典。

建立格式:

parame =

# 或者

set(value)

語法格式如下:

s.add( x )
將元素 x 新增到集合 s 中,如果元素已存在,則不進行任何操作。

例項(python 3.0+)

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

> thisset.add(

"facebook"

)>>

>

print

(thisset)

還有乙個方法,也可以新增元素,且引數可以是列表,元組,字典等,語法格式如下:

s.update( x )
x 可以有多個,用逗號分開。

例項(python 3.0+)

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

> thisset.update(

)>>

>

print

(thisset)

>>

> thisset.update([1

,4],

[5,6

])>>

>

print

(thisset)

>>

>

語法格式如下:

s.remove( x )
將元素 x 從集合 s 中移除,如果元素不存在,則會發生錯誤。

例項(python 3.0+)

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

> thisset.remove(

"taobao"

)>>

>

print

(thisset)

>>

> thisset.remove(

"facebook"

)# 不存在會發生錯誤

traceback (most recent call last)

: file ""

, line 1,in

keyerror:

'facebook'

>>

>

此外還有乙個方法也是移除集合中的元素,且如果元素不存在,不會發生錯誤。格式如下所示:

s.discard( x )
例項(python 3.0+)

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

> thisset.discard(

"facebook"

)# 不存在不會發生錯誤

>>

>

print

(thisset)

我們也可以設定隨機刪除集合中的乙個元素,語法格式如下:

s.pop(

)

指令碼模式例項(python 3.0+)

thisset =

set(

("google"

,"runoob"

,"taobao"

,"facebook"))

x = thisset.pop(

)print

(x)

輸出結果:

$ python3 test.py 

runoob

多次執行測試結果都不一樣。

然而在互動模式,pop 是刪除集合的第乙個元素(排序後的集合的第乙個元素)。

例項(python 3.0+)

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"

,"facebook"))

>>

> thisset.pop(

)'facebook'

>>

>

print

(thisset)

>>

>

語法格式如下:

len

(s)

計算集合 s 元素個數。

例項(python 3.0+)

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

>

len(thisset)

3

語法格式如下:

s.clear(

)

清空集合 s。

例項(python 3.0+)

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

> thisset.clear(

)>>

>

print

(thisset)

set(

)

語法格式如下:

x in s
判斷元素 x 是否在集合 s 中,存在返回 true,不存在返回 false。

例項(python 3.0+)

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

>

"runoob"

in thisset

true

>>

>

"facebook"

in thisset

false

>>

>

方法

描述add()

為集合新增元素

clear()

移除集合中的所有元素

copy()

拷貝乙個集合

difference()

返回多個集合的差集

difference_update()

移除集合中的元素,該元素在指定的集合也存在。

discard()

刪除集合中指定的元素

intersection()

返回集合的交集

intersection_update()

返回集合的交集。

isdisjoint()

判斷兩個集合是否包含相同的元素,如果沒有返回 true,否則返回 false。

issubset()

判斷指定集合是否為該方法引數集合的子集。

issuperset()

判斷該方法的引數集合是否為指定集合的子集

pop()

隨機移除元素

remove()

移除指定元素

symmetric_difference()

返回兩個集合中不重複的元素集合。

symmetric_difference_update()

移除當前集合中在另外乙個指定集合相同的元素,並將另外乙個指定集合中不同的元素插入到當前集合中。

union()

返回兩個集合的並集

update()

給集合新增元素

python學習筆記 集合

使用工廠方法 set 和 frozenset s set cheeseshop s set c e h o p s t frozenset bookshop t frozenset b h k o p s type s type t 用各種集合內建的方法和操作符新增和刪除集合的成員 s.add z ...

Python學習筆記 字典 集合

一 字典dict 字典是python唯一的對映型別,區別序列型別和基本資料型別。1 建立,下面幾種方式都可以建立字典,注意,a 建立的是空字典,而不是集合。這裡,dict是工廠函式,同樣的,list str tuple也是工廠函式。要注意,dict對鍵的要求較為嚴格,必須是可雜湊物件。2 索引 因為...

python之集合學習筆記

按我的理解,集合類似於數學中的集合這一概念。集合有以下幾個特性 1.集合內的元素是無序的,這和列表與元組不同,後兩者因為有序,所以可以用切片操作和下標索引。但集合不行。2.集合只能用工廠方法來生成,函式有兩個 set 與frozenset 分別是可變與不可變的集合工廠函式。a set beyond ...