目录

Python Design Patterns - Sets

集合可以定义为可迭代,可变的无序集合,并且不包含重复元素。 在Python中,set class是数学集的表示法。 使用集合的主要优点是它包含用于检查特定元素的高度优化的方法。

Python包含一个名为Frozen sets的单独类别。 这些集是不可变对象,仅支持产生所需结果的方法和运算符。

如何实现集合?

以下程序有助于实现集合 -

# Set in Python
# Creating two sets
set1 = set()
set2 = set()
# Adding elements to set1
for i in range(1, 6):
   set1.add(i)
# Adding elements to set2
for i in range(3, 8):
   set2.add(i)
print("Set1 = ", set1)
print("Set2 = ", set2)
print("\n")
# Union of set1 and set2
set3 = set1 | set2# set1.union(set2)
print("Union of Set1 & Set2: Set3 = ", set3)
# Intersection of set1 and set2
set4 = set1 & set2# set1.intersection(set2)
print("Intersection of Set1 & Set2: Set4 = ", set4)
print("\n")
# Checking relation between set3 and set4
if set3 > set4: # set3.issuperset(set4)
   print("Set3 is superset of Set4")
elif set3 < set4: # set3.issubset(set4)
   print("Set3 is subset of Set4")
else : # set3 == set4
   print("Set3 is same as Set4")
# displaying relation between set4 and set3
if set4 < set3: # set4.issubset(set3)
   print("Set4 is subset of Set3")
   print("\n")
# difference between set3 and set4
set5 = set3 - set4
print("Elements in Set3 and not in Set4: Set5 = ", set5)
print("\n")
# checkv if set4 and set5 are disjoint sets
if set4.isdisjoint(set5):
   print("Set4 and Set5 have nothing in common\n")
# Removing all the values of set5
set5.clear()
print("After applying clear on sets Set5: ")
print("Set5 = ", set5)

输出 (Output)

上述程序生成以下输出 -

集

可以使用以下程序演示冷冻装置 -

normal_set = set(["a", "b","c"])
# Adding an element to normal set is fine
normal_set.add("d")
print("Normal Set")
print(normal_set)
# A frozen set
frozen_set = frozenset(["e", "f", "g"])
print("Frozen Set")
print(frozen_set)

输出 (Output)

上述程序生成以下输出 -

冷冻套装
↑回到顶部↑
WIKI教程 @2018