python3.6 集合筆記(一)
阿新 • • 發佈:2018-04-09
python 集合 慢慢體會到,在學習或者解決一個問題的時候,首先要盡量理解透問題本身涉及到的相關概念,
再去進一步分析解決具體問題,即可事半功倍。
比如,對於編程語言裏面的集合問題,以python語言為例(在此順便復習下關於集合本身的東西)。
而集合本身在數學領域具有無可比擬的特殊重要性。在數學學科上集合的分類為:
空集
有一類特殊的集合,它不包含任何元素,如{x|x∈R x2+1=0} ,稱之為空集,記為?;
子集
設S,T是兩個集合,如果S的所有元素都屬於T ,即 則稱S是T的子集,記為;
相等
如果兩個集合S和T的元素完全相同,則稱S與T兩個集合相等,記為S=T;
並集
由所有屬於集合A或屬於集合B的元素所組成的集合,記作A∪B(或B∪A),讀作“A並B”
(或“B並A”),即A∪B={x|x∈A,或x∈B}。並集越並越多;
交集
由屬於A且屬於B的相同元素組成的集合,記作A∩B(或B∩A),讀作“A交B”
(或“B交A”),即A∩B={x|x∈A,且x∈B}。交集越交越少;
補集
相對補集:由屬於A而不屬於B的元素組成的集合,稱為B關於A的相對補集,記作A-B或A\B;
絕對補集:A關於全集合U的相對補集稱作A的絕對補集,記作A'或?u(A)或~A;
冪集
有集合A,由集合A所有子集組成的集合,稱為集合A的冪集;
下面是python3.6.3版本集合相關的常用操作,順便提筆記下來
import sys,os print(sys.version) #3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] s = set([1,3,5,8,4]) #創建一個數值集合 t = set("Hello") #創建一個唯一字符的集合 a = t | s # t 和 s 的並集 b = t & s # t 和 s 的交集 c = t - s # 差集(在t中,但不在s中) d = t ^ s # 對稱差集(在t或者s中,但不會同時都存在) ##basic operation t.add('x') #adding s.update([100,200,300]) #在s中添加多項 t.remove('H') #刪除一項 len(s) #集合長度 'x' in s #測試x是不是s的成員 'x' not in s #測試x s.issubset(t) #s中的每個元素都在t中 s <= t s.issubset(t) #t中的每個元素都在s中 s >= t s.union(t) # 返回一個新的set,包含s和t中的每一個元素 s | t s.intersection(t) #返回一個新的set,包含s和t中的公共元素 s & t s.difference(t) #返回一個新的set,包含s中有但是t中沒有的元素 s - t s.symmetric_difference(t) #返回一個新的set,包含s和t中不重復的元素 s ^ t s.copy() #返回set s的一個淺復制
python3.6 集合筆記(一)