コード例 #1
0
# 以下、集合に対する概念(若干マイナーな概念も含むかも...)。
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
コード例 #3
0
>>> 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)