Python基礎 集合(set)

2021-10-23 07:45:46 字數 3140 閱讀 3158

集合是乙個無序不重複元素的序列。集合不能被切片也不能被索引,除了做集合運算之外,集合元素可以被新增還有刪除.

a_set =

# 新增

a_set.add(5)

a_set.update(4,

5,[6

,7])

print

(a_set)

# 輸出

# 刪除

a_set.discard(5)

a_set.remove(5)

#使用remove時,如果元素不存在,則會發生錯誤。

print

(a_set)

# 輸出

s =

s2 =

# & 交集運算——兩者中都包含的元素

result = s & s2 #

# | 並集運算——代表兩者中全部元素聚在一起去重後的結果

result = s | s2 #

# - 差集——代表前者中包含、後者中不包含的元素

result = s - s2 #

# ^ 異或集——不同時包含於兩個集合中的元素

result = s ^ s2 #

# <= 檢查乙個集合是否是另乙個集合的子集

a =b =

result = a <= b # true

result =

<=

# true

result =

<=

# false

# < 檢查乙個集合是否是另乙個集合的真子集

result =

<

# false

result =

<

# true

# >= 檢查乙個集合是否是另乙個的超集

# > 檢查乙個集合是否是另乙個的真超集

返回的集合元素包含在第乙個集合中,但不包含在第二個集合(方法的引數)中,返回乙個新的集合。

例項:

# 求兩個集合的差集,元素在 x 中不在 y 中

x =y =

z = x.difference(y)

print

('兩個集合的差集是:%s'

% z)

# 輸出結果為:

x =

y =x.difference_update(y)

print

(x)結果為:

# 返回兩個或者多個集合的交集

x =y =

z = x.intersection(y)

print

(z)# 返回三個集合的交集

x =y =

z =result = x.intersection(y, z)

print

('三個集合的差集是:%s'

% result)

# 輸出結果:

兩個集合的差集是:

# 返回乙個無返回值的集合交集

x =y =

x.intersection_update(y)

print

(x)x =

y =z =

x.intersection_update(y, z)

print

(x)# 輸出結果:

# 合併兩個集合,重複元素只會出現一次:

x =y =

z = x.union(y)

print

(z)#輸出結果為:

# 合併多個集合:

x =y =

z =result = x.union(y, z)

print

(result)

#輸出結果為:

x =

y =z =

# 判斷集合 y 中是否包含集合 x 中的元素,如果沒有返回 true, 有則返回 false

a = x.isdisjoint(y)

# 結果返回 false,說明集合 y 中有和 x 中相同的元素

print

(a)# 判斷集合 y 中是否包含集合 x 中的元素,如果沒有返回 true, 有則返回 false

a = x.isdisjoint(z)

# 結果返回 true,說明集合 z 中沒有和 x 中相同的元素

print

(a)#輸出結果:

false

true

# 判斷集合 x 的所有元素是否都包含在集合 y 中:

x =y =

z = x.issubset(y)

print

(z)#輸出結果

true

# 說明 集合 x 中的元素都包含在 y 中

# 集合 y 中只有元素 b 和 c ,執行結果為false

x =y =

z = x.issubset(y)

print

(z)#結果輸出;

false

# 判斷集合 y 的所有元素是否都包含在集合 x 中:

x =y =

z = x.issuperset(y)

print

(z)#輸出結果為:

true

# 如果沒有全部包含返回 false:

x =y =

z = x.issuperset(y)

print

(z)#輸出結果為:

false

# 返回兩個集合組成的新集合,但會移除兩個集合的重複元素:

x =y =

z = x.symmetric_difference(y)

print

(z)輸出結果:

# 在原始集合 x 中移除與 y 集合中的重複元素,並將不重複的元素插入到集合 x 中:

x =y =

x.symmetric_difference_update(y)

print

(x)#輸出結果:

python基礎 set集合

set集合是乙個無序且不重複的元素集合 1.set的建立 2種方式 se se set 11,22,33 呼叫的set 的 init 方法進行建立 2.set的常用方法 1.add se se.add 44 print se 因為是無序的,所以執行的結果會不一樣,但是 44確實被增加到了原 set集...

python基礎 集合set

二 集合常用函式 三 集合的新增元素 四 集合的刪除元素 五 集合的複製元素 集合和列表非常相似 不同點 1.集合中只能儲存不可變物件 2.集合中儲存的物件是無序 不是按照元素的插入順序儲存 3.集合中不能出現重複的元素 重複的元素會自動過濾掉 s s typeerror unhashable ty...

Python基礎 set集合

python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...