# 建立集合的幾種方式
# 集合建立方式1 / 這樣的方式建立
college1 =
(type
(college1)
(college1)
print()
# 方式2
name1 =
set(
["張三"
,"李四"
,"王五"
,"趙六"
,"孫七"])
(type
(name1)
(name1)
print()
# 方式3 這樣的建立方式 會把括號裡的值進行拆分成每個字元
country =
set(
"中華人民共和國"
(type
(country)
(country)
print()
# 測試獲取交集/並集/差集
college1 =
college2 =
# 獲取交集 並返回乙個交集後的新結果
c3 = college1.intersection(college2)
(c3)
# 獲取乙個交集並更新原呼叫方集合資料
college1.intersection_update(college2)
(college1)
college1 =
college2 =
# 獲取乙個並集 將兩個集合合併成乙個新的集合 並去除重複
c4 = college1.union(college2)
(c4)
# 差集的計算
# 單項差集 college1 在 college2 中 不存在的部分 進行返回
c5 = college1.difference(college2)
(c5)
# 單項差集 college1 在 college2 中不存在的部分 並對呼叫方college1 資料進行修改
college1.difference_update(college2)
(college1)
# 雙向差集
college1 =
college2 =
c6 = college1.symmetric_difference(college2)
(c6)
# 雙向差集 計算雙方都不存在的差集 並對呼叫college1 資料進行修改
college1.symmetric_difference_update(college2)
(college1)
"""集合間關係判斷的語句
"""# 判斷兩個集合元素是否相等 集合之間的順序不影響之間的判斷
s1 =
s2 =
(s1 == s2)
# 判斷兩個集合 其中乙個集合為另外乙個集合的子集(包含該集合資料)
s3 =
s4 =
# 判斷s3 呼叫方是否為s4 的子集
(s3.issubset(s4)
)# 判斷s4 呼叫方是否為s3 的父級
(s4.issuperset(s3)
)s5 =
s6 =
# 判斷兩個集合是否存在重複元素
# 這個有點拗口 true 代表是否不存在重複元素 false 代表存在重複元素
(s5.isdisjoint(s6)
)"""
set 集合的增刪改查
"""# 集合的遍歷
college2 =
for i in college2:
(i)# 判斷乙個集合中是否包含指定值
("文學"
in college2)
# 集合的新增 如果出現重複值的資料 會忽略該值
# add 方法一次只能新增乙個數值 如果需要一次新增多個數值 需要使用update 方法
college2.add(
"文學"
)college2.add(
"經濟學"
)college2.add(
"教育學"
)college2.update(
["張三"
,"李四"
,"王五"
,"趙六"])
(college2)
# 集合的刪除 remove在刪除集合中不存在的值時會丟擲錯誤
# 在正常使用時可以使用discard 在實際業務使用中可以根據不同的業務場景使用不同的方法
# college2.remove("張三")
college2.discard(
"張三"
(college2)
# 集合的修改 因為沒有索引指定不了需要修改的資料
# 在集合中需要先刪除集合中的值 然後再進行新增
college2.discard(
"李四"
)college2.update(
["這是修改後的李四"])
(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):
(list1)
# 使用列表生成式建立的list
list2 =
[i for i in
range(10
,20)]
(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 =
(dict1)
# 集合生成式 使用的也是大括號 但是被追加的資料 不是k:v形式的 與列表生成式相同
set1 =
(type
(set1)
(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 ...