集合(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 ...