好好学python·集合
生活随笔
收集整理的這篇文章主要介紹了
好好学python·集合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
集合
- 數據類型詳解-集合
- 集合的定義
- 集合的基本操作和常規函數
- 冰凍集合(了解)
- 集合的推導式
- 集合的運算
- 集合檢測
數據類型詳解-集合
確定的一組無序的數據的組合
- 集合中元素的值不能重復
- 由多個數據組合的復合型數據(容器類型數據)
- 無序
- 功能:成員檢測、從序列中去除重復項以及數學中的集合類計算,例如交集、并集、差集與對稱差集等等。
集合的定義
- 可以直接使用 {} 來定義集合
- 可以使用set()進行集合的定義和轉換
- 使用集合推導式完成集合的定義
注意:集合中的元素不能重復,集合中存放的數據:Number,Strings,Tuple,冰凍集合
集合的基本操作和常規函數
# 定義集合 vars = {123,'abc',False,'love',True,(1,2,3),0,3.1415,'123'} # 1。無序。 # 2。布爾類型 True 表示為 1,False 表示為 0,布爾和數字只存在一個 # 3。元素的值不能重復 # {0, 'abc', 'love', True, 3.1415, (1, 2, 3), 123}# 檢測集合中的值 res = '123' in vars res = '123' not in vars# 獲取集合中元素的個數 len() # res = len(vars)# 集合的遍歷 # for i in vars: # print(i,type(i))# 向集合中追加元素 add() res = vars.add('def')# 刪除集合中的元素 隨機刪除一個元素并返回 abc False True 3.1415 # r1 = vars.pop()# 指定刪除集合中的元素 remove() 返回None,不存在則報錯 # res = vars.remove('aaa')# discard 指定刪除集合中的元素,不存在也不會報錯 # res = vars.discard('aaa')# clear() 清空集合 # res = vars.clear()# update(others) 更新集合,添加來自 others 中的所有元素。 res = vars.update({1,2,3,4,5})# 當前集合中的淺拷貝并不存在 深拷貝的問題 res = vars.copy() ''' 當前集合中的淺拷貝并不存在 深拷貝的問題因為集合中的元素都是不可變,包括元組和冰凍集合不存在拷貝后,對集合中不可變的二級容器進行操作的問題 '''冰凍集合(了解)
定義冰凍集合,只能使用 frozenset() 函數進行冰凍集合的定義
- 冰凍集合一旦定義不能修改
- 冰凍集合只能做集合相關的運算:求交集,差集,。。。
- frozenset() 本身就是一個強制轉換類的函數,可以把其它任何容器類型的數據轉為冰凍集合
集合的推導式
# 集合推導式 varset = {1,2,3,4} # (1) 普通推導式 newset = {i<<1 for i in varset }# (2) 帶有條件表達式的推導式 newset = {i<<1 for i in varset if i%2==0}# (3) 多循環的集合推導式 vars1 = {1,2,3} vars2 = {4,5,6} # newset = set() # for i in vars1: # for j in vars2: # print(i,j) # newset.add(i+j) # print(newset)newset = {i+j for i in vars1 for j in vars2} # print(newset)# (4) 帶條件表達式的多循環的集合推導式 newset = {i+j for i in vars1 for j in vars2 if i%2==0 and j%2==0} print(newset)集合的運算
- 交集 & set.intersection() set.intersection_update()
- 并集 | union() update()
- 差集 - difference(),difference_update()
- 對稱差集 ^ symmetric_difference() symmetric_difference_update()
集合檢測
- issuperset() 檢測是否為超集
- issubset() 檢測是否為子集
- isdisjoint() 檢測是否不相交
總結
以上是生活随笔為你收集整理的好好学python·集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好好学python · 字典
- 下一篇: 操作系统(二 )| 进程管理初探(前趋图