Python set集合的使用

2021-10-10 04:56:09 字數 3786 閱讀 3797

# 建立集合的幾種方式

# 集合建立方式1 / 這樣的方式建立

college1 =

print

(type

(college1)

)print

(college1)

print()

# 方式2

name1 =

set(

["張三"

,"李四"

,"王五"

,"趙六"

,"孫七"])

print

(type

(name1)

)print

(name1)

print()

# 方式3 這樣的建立方式 會把括號裡的值進行拆分成每個字元

country =

set(

"中華人民共和國"

)print

(type

(country)

)print

(country)

print()

# 測試獲取交集/並集/差集

college1 =

college2 =

# 獲取交集 並返回乙個交集後的新結果

c3 = college1.intersection(college2)

print

(c3)

# 獲取乙個交集並更新原呼叫方集合資料

college1.intersection_update(college2)

print

(college1)

college1 =

college2 =

# 獲取乙個並集 將兩個集合合併成乙個新的集合 並去除重複

c4 = college1.union(college2)

print

(c4)

# 差集的計算

# 單項差集 college1 在 college2 中 不存在的部分 進行返回

c5 = college1.difference(college2)

print

(c5)

# 單項差集 college1 在 college2 中不存在的部分 並對呼叫方college1 資料進行修改

college1.difference_update(college2)

print

(college1)

# 雙向差集

college1 =

college2 =

c6 = college1.symmetric_difference(college2)

print

(c6)

# 雙向差集 計算雙方都不存在的差集 並對呼叫college1 資料進行修改

college1.symmetric_difference_update(college2)

print

(college1)

"""集合間關係判斷的語句

"""# 判斷兩個集合元素是否相等 集合之間的順序不影響之間的判斷

s1 =

s2 =

print

(s1 == s2)

# 判斷兩個集合 其中乙個集合為另外乙個集合的子集(包含該集合資料)

s3 =

s4 =

# 判斷s3 呼叫方是否為s4 的子集

print

(s3.issubset(s4)

)# 判斷s4 呼叫方是否為s3 的父級

print

(s4.issuperset(s3)

)s5 =

s6 =

# 判斷兩個集合是否存在重複元素

# 這個有點拗口 true 代表是否不存在重複元素 false 代表存在重複元素

print

(s5.isdisjoint(s6)

)"""

set 集合的增刪改查

"""# 集合的遍歷

college2 =

for i in college2:

print

(i)# 判斷乙個集合中是否包含指定值

print

("文學"

in college2)

# 集合的新增 如果出現重複值的資料 會忽略該值

# add 方法一次只能新增乙個數值 如果需要一次新增多個數值 需要使用update 方法

college2.add(

"文學"

)college2.add(

"經濟學"

)college2.add(

"教育學"

)college2.update(

["張三"

,"李四"

,"王五"

,"趙六"])

print

(college2)

# 集合的刪除 remove在刪除集合中不存在的值時會丟擲錯誤

# 在正常使用時可以使用discard 在實際業務使用中可以根據不同的業務場景使用不同的方法

# college2.remove("張三")

college2.discard(

"張三"

)print

(college2)

# 集合的修改 因為沒有索引指定不了需要修改的資料

# 在集合中需要先刪除集合中的值 然後再進行新增

college2.discard(

"李四"

)college2.update(

["這是修改後的李四"])

print

(college2)

"""三種內建的生成式 list/dict/set (列表生成式/字典生成式/集合生成式)

生成式的格式[ 新增元素的語句 迴圈方式規則(與正常 for i in range(1,10) 類似) 後面可以再新增迴圈語句或者判斷語句 ]

[被追加的資料 迴圈語句 迴圈或者判斷語句]

如: list=[j*10 for i in range(1,10) for j in range(1,5) if j%2==0] 這句話 解析成原**為:

for i in range(1,10):

for j in range(1,5):

if j%2==0:

"""# 建立 列表生成式 正常方法建立的list

list1 =

for i in

range(10

,20):

print

(list1)

# 使用列表生成式建立的list

list2 =

[i for i in

range(10

,20)]

print

(list2)

# 稍複雜的列表生成式

list3 =

[j *

10for i in

range(1

,10)for j in

range(1

,5)if j %2==

0]print

(list3)

# 字典生成式 使用的是大括號 被追加的資料是k:v 形式的

temp_list =

["張三"

,"李四"

,"王五"

,"趙六"

,"孫七"

]dict1 =

print

(dict1)

# 集合生成式 使用的也是大括號 但是被追加的資料 不是k:v形式的 與列表生成式相同

set1 =

print

(type

(set1)

)print

(set1)

Python set集合詳解

python 中的集合,和數學中的集合概念一樣,用來儲存不重複的元素,即集合中的元素都是唯一的,互不相同。從形式上看,和字典類似,python 集合會將所有元素放在一對大括號 中,相鄰元素之間用 分隔,如下所示 其中,elementn 表示集合中的元素,個數沒有限制。從內容上看,同一集合中,只能儲存...

python set集合基礎

python set 基礎 集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典 a 1 2,3 4,1 print set a 結果 hello set hello.add b print he...

python set集合操作

set集合是乙個無序且不重複的集合。建立乙個set集合 name set sdd name 返回結果 add 功能 增加集合元素 name name.add d name 返回結果 name.add sd name 返回結果 clear 功能 清空集合元素 name name.clear name ...