Python學習之路 集合操作

2021-10-06 03:22:27 字數 4269 閱讀 1307

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

可以使用大括號或者set()函式建立集合,注意:建立乙個空集合必須用set()而不是,因為是用來建立乙個空字典。

建立乙個空集合 和 空字典

empty_set =

set(

)empty_dict =

print

(empty_set)

print

(empty_dict)

print

(type

(empty_set)

)print

(type

(empty_dict)

)'''

set()

{}'''

集合的運算
a =

set(

'abracadabra'

)b =

set(

'alacazam'

)print

(a)print

(b)print

(a - b)

#差集print

(a | b)

#並集print

(a & b)

#交集print

(a ^ b)

#兩集合各自獨有的==並-交

''''''

集合的基本操作

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

thisset =

set(

("google"

,"runoob"

,"taobao"))

thisset.add(

"facebook"

)print

(thisset)

''''''

s.update( x )將元素 x 新增到集合 s 中,如果元素已存在,則不進行任何操作。x 可以有多個,用逗號分開。

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

> thisset.update(

)>>

>

print

(thisset)

>>

> thisset.update([1

,4],

[5,6

])>>

>

print

(thisset)

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

s.discard(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'

s.discard(x)移除集合中的元素,且如果元素不存在,不會發生錯誤。

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

> thisset.discard(

"facebook"

)# 不存在不會發生錯誤

>>

>

print

(thisset)

s.pop()隨機刪除集合中的乙個元素,因為集合是無序的

thisset =

set(

("google"

,"runoob"

,"taobao"

,"facebook"))

x = thisset.pop(

)print

(x)'''

runoob

'''

len(s)計算集合s元素的個數

>>

>thisset =

set(

("google"

,"runoob"

,"taobao"))

>>

>

len(thisset)

3

s.clear()清空乙個集合

>>

> thisset =

set(

("google"

,"runoob"

,"taobao"

,"facebook"))

>>

> thisset

>>

> thisset.clear(

)>>

> thisset

set(

)

x in s判斷x是否在集合s中

>>

> thisset =

set(

("google"

,"runoob"

,"taobao"

,"facebook"))

>>

>

"google"

in thisset

true

>>

>

"hello"

in thisset

false

intersetcion()求交集(不改變原有集合)

difference()求差集(不改變原有集合)

unoin()求並集(不改變原有集合)

symmetric_difference()對稱差集

舉**intersetcion()**例子:

>>

> s =

set(

"hacker"

)>>

>

print

(s.intersection(

"rank"))

>>

>

print s.intersection(

['r'

,'a'

,'n'

,'k'])

set(

['a'

,'k'])

>>

> s &

set(

"rank"

)set([

'a',

'k']

)

issubset()是否為子集

>>

> thisset =

set(

("google"

,"runoob"

,"taobao"

,"facebook"))

>>

> anotherset =

set(

("google"

,"runoob"))

>>

> thisset.issubset(anotherset)

false

>>

> anotherset.issubset(thisset)

true

python 學習之路(集合)

集合本身無序,並且資料不重複,主要作用 1.去重 列表轉換成集合就能去重 2.做兩組資料的 交集 差集 並集 關係測試 先宣告乙個列表 list1 1,2,3,4,4,5,3,7,2 將列表變成集合 list1 set list1 列印結果 可以看出已經去重 list1 1,2,3,4,4,5,3,...

python之路 集合

set集合是無序的,不能通過索引和切片來做一些操作 建立集合 n set hello print n 集合新增 刪除 1 新增 n set hello n.add onion print n 2 刪除 隨機刪除 n.pop 指定刪除 n.remove h 刪除元素不存在會報錯 n.discard m...

python學習 集合常見操作

remove 刪除給定元素,元素不在集合中時會報錯 discard 刪除給定元素,元素不在集合中時什麼也不做 pop 隨機刪除乙個元素,並返回,集合為空會報錯 clear 清空集合。add 在集合中新增乙個元素,元素存在時,不變 update 相當於並集 集合不能修改單個元素 集合不能通過索引訪問,...