一、定義
集合是無序的一系列元素組成,每個元素都是唯一的,集合元素的內容是不可變的,常見的元素有整數、浮點數、字串、元組等型別,
二、建立集合
1,使用大括號建立集合
集合的特色是元素是唯一的,所以如果設定集合時出現重復元素,會部分舍去,只留下唯一的元素,
students = {'zhangsan','lisi','wangwu','xiaozhu'}
print(students)
顯示結果:

2,使用set()函式建立集合
在定義集合的時候,還可以使用內置函式set()來定義集合,set()函式引數的內容可以有字串,串列,元組等,
a = 'HELLO WORLD!'
x = set(a)
print(x)
print(type(x))
顯示結果:

三、集合的操作
1,交集
有兩個集合,如果是想獲取相同的元素,則可以使用交集;交集的符號是‘&’,集合A&集合B就是A、B集合的交集,
A = {1,2,3,4,5,6}
B = {4,5,6,7,8,9}
both = A & B
print(both)
print(type(both))
顯示結果:

2,并集
有兩個集合,如果是想獲取兩個集合所有的元素,可以使用并集,并集的符號是‘|’,集合A|集合B就是A、B集合的并集,
A = {1,2,3,4,5,6}
B = {4,5,6,7,8,9}
both = A | B
print(both)
print(type(both))
顯示結果:

3,差集
有A、B兩個集合,如果是想要獲取屬于A集合,但是不屬于B集合的資料,則可以使用差集(A-B);如果是想要獲取屬于B集合,但是不屬于A集合的資料,則可以使用差集(B-A);差集的符號是‘-’,
A = {1,2,3,4,5,6}
B = {4,5,6,7,8,9}
both1 = A - B
print(both1)
print(type(both1))
both2 = B - A
print(both2)
print(type(both2))
顯示結果:

4,對稱差集
有A和B兩個集合,如果是想獲取集合A或者集合B的元素,但是排除同時包含在A集合與B集合的資料,可以使用對稱差集;對稱差集的符號‘^’,
A = {1,2,3,4,5,6}
B = {4,5,6,7,8,9}
both = A ^ B
print(both)
print(type(both))
顯示結果:

5,等于
等于的作用是判斷兩個集合的元素是否相等,等于的符號是‘==’,如果相等就回傳True,如果不相等就回傳False,
A = {1,2,3,4,5,6}
B = {4,5,6,7,8,9}
C = {1,2,3,4,5,6}
print(A == B)
print(A == C)
顯示結果:

6,不等于
不等于的作用是判斷兩個集合是否不相等,不等于的符號是‘!=’,如果不相等就回傳True,如果相等就回傳False,
A = {1,2,3,4,5,6}
B = {4,5,6,7,8,9}
C = {1,2,3,4,5,6}
print(A != B)
print(A != C)
顯示結果:

7,包含關系
使用關鍵字in或者not in可以判斷元素是否包含在已定義的集合中,如果滿足條件,回傳為True,如果不滿足則回傳False,
A = {1,2,3,4,5,6}
B = {4,5,6,7,8,9}
print (0 in A)
print (1 in A)
print()
print (0 not in A)
print (1 not in A)
顯示結果:

四、集合的常用方法
1,add()方法
add()方法可以給集合增加一個元素,語法格式為 集合A.add(新增元素)
A = {1,2,3,4,5,6}
print(A)
A.add(0)
print(A)
顯示結果:

2,copy()方法
copy()方法,可以 講集合復制后傳遞給一個新的集合,這個新的集合和原有的集合將會完全相同,語法格式為 新集合名稱 = 舊集合名稱.copy()
A = {1,2,3,4,5,6}
print(A)
B = A.copy()
print(A)
print(B)
顯示結果:

3,remove()方法
remove()方法,可以洗掉集合中的指定元素,如果指定的元素不存在,則會有KeyError錯誤產生,
語法格式為 集合A.remove(指定洗掉元素)
A = {1,2,3,4,5,6}
print(A)
B = A.remove(3)
print(A)
顯示結果:

4,discard()方法
discard()方法的作用是可以洗掉集合內的元素,與remove()方法一致,區別是discard()方法洗掉元素時,如果元素不存在,不會有keyError的錯誤產生,
語法格式: 集合B = 集合A.discard(想要洗掉的元素)
A = {1,2,3,4,5}
print(A)
A.discard(3)
print(A)
print('----------------------------------------------')
A = {1,2,3,4,5}
print(A)
A.discard(6)
print(A)
顯示結果:

5,pop()方法
pop()方法的作用是采用隨機的方式洗掉集合元素,所洗掉的元素將被傳回,如果集合是一個空集合,程式就會產生TypeError錯誤
語法格式: ret_element = 集合A.pop()
即隨機洗掉集合A中的元素,并且會傳回給ret_element
A = {1,2,3,4,5}
print(A)
ret_element = A.pop()
print(ret_element)
print(A)
顯示結果:

6,clear()方法
clear()方法可以洗掉集合內所有的元素,是集合變成一個空集合,
A = {1,2,3,4,5}
print(A)
A.clear()
print(A)
顯示結果:

7,isdisjoint()方法
isdisjoint()方法的作用是判斷兩個集合有沒有交集,如果兩個集合沒有交集,就回傳True,如果有交集,那就回傳False,語法格式 ret_boolean = 集合A.isdisjoint(集合B)
A = {1,2,3,4,5}
B = {6,7,8,9,0}
C = {6,5,8,9,4}
print (A.isdisjoint(B))
print (A.isdisjoint(C))
顯示效果:

8,issubset()方法
issubset()方法的作用是判斷一個集合是否是另一個集合的子集合,即如果集合B中的所有元素都可以在集合A中找到,那么集合B就是集合A的子集合,就回傳True;如果集合B中的所有元素在集合A中找不到,那么集合B就不是集合A的子集合,就回傳False,
語法格式為: 回傳值 = 集合A.issubset(集合B)
A = {1,2,3,4,5}
B = {1,2,3}
C = {4,5,6}
print(B.issubset(A))
print(C.issubset(A))
顯示結果:

9,issuperset()方法
issuperset()方法的作用是判斷一個集合是否是另一個集合的父集合,即如果集合B中的所有元素都可以在集合A中找到,那么集合A就是集合B的父集合,就回傳True;如果集合B中的所有元素在集合A中找不到,那么集合A就不是集合B的父集合,就回傳False,
語法格式為: 回傳值 = 集合A.issuperset(集合B)
A = {1,2,3,4,5}
B = {1,2,3}
C = {4,5,6}
print(A.issuperset(B))
print(A.issuperset(C))
顯示結果:

10,intersection_update()方法
intersection_update()方法的作用是,可以實作獲取多個集合的交集,并回傳給原來的集合,
語法格式: A.intersection_update(*B)
這里的*B的意思是可以有多個集合,如果只是一個集合B,那么就是獲取集合A與集合B的交集并回傳給集合A,如果是(B,C),那么就是獲取,集合A、集合B、集合C的交集并回傳給集合A
A = {1,2,3,4,5}
B = {1,2,3}
C = {3,4,5,6}
print(A)
print(A.intersection_update(B))
print(A)
print(A.intersection_update(B,C))
print(A)
顯示結果:

11,update()方法
update()方法可以將一個集合的元素,添加到呼叫此方法的集合內,
語法格式: 集合A.update(集合B)
即將集合B的元素添加到集合A中
A = {1,2,3,4,5}
B = {4,5,6,7,8,9}
print(A)
A.update(B)
print(A)
顯示結果:

12,difference_update()方法
difference_update()方法的作用是洗掉集合內與另一個集合重復的元素,
語法格式 集合A.difference_update(集合B)
即將集合A內與集合B重復的元素洗掉,并將洗掉后的結果保存到集合A中
A = {1,2,3,4,5}
B = {4,5,6,7,8,9}
print(A)
A.difference_update(B)
print(A)
顯示結果:

13,symmetric_difference_update()方法
symmetric_difference_update()方法的作用是 有A和B兩個集合,可以獲取集合A或者集合B的元素,但是排除同時包含在A集合與B集合的資料,
語法格式: 集合A.symmetric_difference_update(集合B)
A = {1,2,3,4,5}
B = {4,5,6,7,8,9}
print(A)
A.symmetric_difference_update(B)
print(A)
顯示結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260053.html
標籤:python
上一篇:Web全堆疊~33.執行緒的中斷
