標籤:print discard 複製集 清空 資料 bsp different 隨機 mail
集合(set):確定的無序的一組資料就是集合。(集合無特定的標識符號)
特點:
- 集合中的值不會重複(唯一)
- 集合中的元素沒有任何順序
- 集合中可以使用整數,浮點數,布爾值,複數,字串,元組,冰凍集
集合的基本操作
1.建立空集合
varset = set() #建立一個空集合
2.具有資料的集合
varset = { ‘A’,‘B’,‘C’ }
3.集合成員檢測
print(‘A’ in var)
集合推導式
建立一個集合varset = { ‘A’,‘B’,‘C’ }
1.基本的集合推導式
print({‘*‘ + i + ‘*‘ for i in varset})
2.帶有判斷條件的集合推導式
print({‘*‘ + i + ‘*‘ for i in varset if i != ‘A‘})
3.多迴圈集合推導式
print({ c + str(s) for c in colors for s in sizes})
集合函數
建立一個列表
var = set()
1.add()向集合中添加元素
var.add(‘A‘)
2.pop()隨機刪除集合中的一個元素
var.pop()
3.remove()刪除集合中的指定元素,弱元素不從在就會報錯
var.remove(‘A‘)
4.discard()刪除集合中指定的元素,若元素不存在時,啥都不做
var.disvard(‘E‘)
5.clear()清空集合
var.clear()
6.copy()複製集合
new_var = var.copy()
集合處理
假設定義倆個集合var1和var2
1.difference()計算倆個集合的差集
print(var1.difference(var2)) #輸出var1集合和var2集合的交集
2.different_update() 倆個集合的差集更新操作,將差集賦值給前一個集合
var1.difference_update(var2) ------> print(var1)
3.union()集合的並集操作
print(var1.union(var2)) #輸出倆個集合的並集
4.update()並集的跟新操作
var1.update(var2) #將倆個集合的並集更新至var1集合中
5.intersection()計算倆個集合的交集
print(var1.intersection(var2))
6.intersection_update()更新並集操作
var1.intersection_update(var2) #將倆個集合的交集賦值給var1集合
集合判斷操作
1.issupperset()檢測當前集合是否是另一個集合的超級
print(var1.issupperset(var2)) #檢測集合var1是否是var2集合的超級
2.issubset()檢測當前集合是否是另一個集合的子集
print(var1.issubset(var2)) #檢測集合var1是否是集合var2的子集
3.isdisjoint()檢測倆集合是否不存在交集
print(var1.isdisjoint(var2))
4.symmetric_difference() 集合的對稱差集
print(var1.symmetric_difference(var2))
5.symmetric_difference_update() 更新集合的對稱差集
var1.symmetric_difference_update(var2)
冰凍集合
定義:冰凍集合是一種特殊的集合類型,(集合是列表的話,冰凍集合就是列表)
1.建立空的冰凍的集合 ——> var = frozenset()
2.帶有資料的冰凍集合 ——>var = frozenset((‘A‘,‘B‘,‘C‘))
3.成員檢測 ——>print(‘A‘ in var)
4.遍曆冰凍集合 ——> for x in var:
5.集合推導式(結果無法得到冰凍集合,可得到集合,列表,元組,字典等)
res = {i for i in var}
集合函數
1.冰凍集合可以使用集合的函數,前提是不能修改集合本身,如copy()
2.集合的交集,並集,差集等都可以使用,前提是不能修改集合資料
註:冰凍集合和普通集合求並集會得到一個冰凍集合,普通集合和冰凍集合求並集會得到一個普通集合
#註:此檔案解釋權歸自身擁有,若有疑問可郵件諮詢:[email protected]
Python學習——集合