# 以下、集合に対する概念(若干マイナーな概念も含むかも...)。 sub = FiniteSet(1, 2) super = FiniteSet(1, 2, 3) # AはBの部分集合か? print(sub.is_subset(super)) # AはBの上位集合か? print(super.is_superset(sub)) # AはBの真部分集合か? # ※真部分集合:Bが、Aにない要素を一つ以上含んでいる場合、BをAの真部分集合と呼ぶ。 print(sub.is_proper_subset(super)) # AはBの真上位集合か? print(super.is_proper_superset(sub)) # 通常の上位集合と、真上位集合の違い。 print(FiniteSet(3, 1, 2).is_superset(super)) print(FiniteSet(3, 1, 2).is_proper_superset(super)) # 冪集合を求める例。 # ※冪集合:ある集合の、全ての部分集合を列挙した集合。 # ある集合の濃度をsとすれば、部分集合の個数は、2^sとなることが知られている。 print(FiniteSet(3, 1, 2).powerset()) # 集合の和集合や積集合を求める。 s = FiniteSet(1, 2, 3) t = FiniteSet(3, 4, 5) u = FiniteSet(3, 6)
print(ninthset.is_subset(eigthset)) #print True #A set is a superset if the set contains all of the members. Remember, contains. print(ninthset.is_superset(eigthset)) #print False print(eigthset.is_superset(ninthset)) #print True #The power set is the set of all possible subsets tenthset = FiniteSet(20, 55, 41, 98) print(tenthset.powerset()) #print {EmptySet(), {20}, {41}, ..., {20, 55, 98}, {41, 55, 98}, {20, 41, 55, 98}} seventhset = FiniteSet(999, 439, 20984) eigthset = FiniteSet(999, 69, 48) ninthset = FiniteSet(999, 69) print(seventhset.is_proper_subset(eigthset)) #print False print(eigthset.is_proper_subset(seventhset)) #print False print(ninthset.is_proper_subset(eigthset)) #print True print(ninthset.is_proper_superset(eigthset)) #print False print(eigthset.is_proper_superset(ninthset)) #print True tenthset = FiniteSet(1, 2, 3) eleventhset = FiniteSet(2, 4, 6) print(tenthset.union(eleventhset)) #print {1, 2, 3, 4, 6} print(tenthset.intersect(eleventhset)) #print {2} #we can apply union and intersect to more than two sets. tenthset = FiniteSet(1, 2, 3) eleventhset = FiniteSet(2, 4, 6) twelthset = FiniteSet(3, 5, 7) print(tenthset.union(eleventhset).union(twelthset)) #print {1, 2, 3, 4, 5, 6, 7} print(tenthset.intersect(eleventhset).intersect(twelthset)) #print EmptySet() #The cartesian product creates a set that consists of all possible pairs made by taking an element from each set. print(tenthset*eleventhset) #print {1, 2, 3} x {2, 4, 6} tentheleventh = tenthset*eleventhset
>>> s=FiniteSet(1,2,3) >>> ps=s.powerset() >>> ps {EmptySet(), {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}} >>> len(ps) 8 #A set s is a proper subset of t iff t contains all the members of s and at least one more member. #A set t is a proper superset of s iff t contains all the members of s and at least one more member. >>> s=FiniteSet(1,2,3) >>> t=FiniteSet(1,2,3) >>> s.is_proper_subset(t) False >>> t.is_proper_superset(s) False >>> t=FiniteSet(1,2,3,4) >>> s.is_proper_subset(t) True >>> t.is_proper_superset(s) True #Set Operations #Union and intersection >>> s=FiniteSet(1,2,3) >>> t=FiniteSet(2,4,6) >>> s.union(t)