集合
集合(set)是乙個無序的不重複元素序列。
可以使用大括號 或者 set() 函式建立集合,注意:建立乙個空集合必須用 set()而不是 ,因為 是用來建立乙個空字典。
建立格式:
>>
> basket =
>>
>
print
(basket)
# 這裡演示的是去重功能
>>
>
'orange'
in basket # 快速判斷元素是否在集合內
true
>>
>
'crabgrass'
in basket
false
>>
>
# 下面展示兩個集合間的運算...
.>>
> a =
set(
'abracadabra'
)>>
> b =
set(
'alacazam'
)>>
> a
>>
> a - b # 集合a中包含而集合b中不包含的元素
>>
> a | b # 集合a或b中包含的所有元素
>>
> a & b # 集合a和b中都包含了的元素
>>
> a ^ b # 不同時包含於a和b的元素
類似列表推導式,同樣集合支援集合推導式(set comprehension):
>>
> a =
>>
> a
>>
>
2.集合的基本操作
1、新增元素
s.add( x )
#語法格式
將元素 x 新增到集合 s 中,如果元素已存在,則不進行任何操作。
>還有乙個方法,也可以新增元素,且引數可以是列表,元組,字典等,語法格式如下:
>>
> thisset =
set(
("google"
,"runoob"
,"taobao"))
>>
> thisset.update(
)>>
>
print
(thisset)
>>
> thisset.update([1
,4],
[5,6
])>>
>
print
(thisset)
>>
>
2、移除元素
語法格式如下:
s.remove( x )
#將元素 x 從集合 s 中移除,如果元素不存在,則會發生錯誤。
>>
> thisset =
set(
("google"
,"runoob"
,"taobao"))
>>
> thisset.remove(
"taobao"
)>>
>
print
(thisset)
>>
> thisset.remove(
"facebook"
)# 不存在會發生錯誤
traceback (most recent call last)
: file ""
, line 1,in
keyerror:
'facebook'
>>
>
此外還有乙個方法也是移除集合中的元素,且如果元素不存在,不會發生錯誤。格式如下所示:
>>
> thisset =
set(
("google"
,"runoob"
,"taobao"))
>>
> thisset.discard(
"facebook"
)# 不存在不會發生錯誤
>>
>
print
(thisset)
我們也可以設定隨機刪除集合中的乙個元素,語法格式如下:
#多次執行測試結果都不一樣。
#set 集合的 pop 方法會對集合進行無序的排列,然後將這個無序排列集合的左面第乙個元素進行刪除。3、計算集合元素個數
語法格式如下:
len
(s)
>>
> thisset =
set(
("google"
,"runoob"
,"taobao"))
>>
>
len(thisset)
3
4、清空集合
語法格式如下:
s.clear(
)
>>
> thisset =
set(
("google"
,"runoob"
,"taobao"))
>>
> thisset.clear(
)>>
>
print
(thisset)
set(
)
5、判斷元素是否在集合中存在
語法格式如下:
x in s
#判斷元素 x 是否在集合 s 中,存在返回 true,不存在返回 false。
>>
> 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
零基礎學python 1 1 python是一門指令碼語言 2 python的優勢 1 語法和結構比較簡單,易入門 2 能夠跨平台使用 3 應用範圍廣,設計到作業系統 3d動畫 web 雲計算,企業應用等多方面。3 idle 是乙個python shell,類似於windows的cmd視窗 4 pr...
Python零基礎入門
python零基礎入門 第一周前言 最近在簡單學習python,在之前的學習中也只對c語言有了乙個粗略的了解,可以說在程式設計方面沒有什麼基礎,當然這也是我第一次寫部落格,希望自己越學越好,希望自己加油 在這一周中,還是學習到了不少的東西,也希望把自己學到的東西寫下來,來加強對python的學習,若...
Python入門零基礎
開始認識 不要害怕面對一串密密麻麻的英文本元。如果你將它們獨自分開,你會發現它們就像英文單詞,都有固定的作用。不要被第一眼的陌生感所產生的恐懼給蒙蔽。而要將 看成 變數 可以用來儲存字面量,變數本身沒有任何意思 如 a hello world abc 1,dfg 2,c abc dfg。其中a ab...