Python字符串和常用数据结构(五):使用集合

时间:2024-03-22 10:28:21

ython中的集合跟数学上的集合是一致的,不允许有重复元素,而且可以进行交集、并集、差集等运算。
Python字符串和常用数据结构(五):使用集合

 

文章配套代码与系列教程,免费获取,遇到bug及时反馈,讨论交流可加扣裙<60 61 15 02 7>
def main():
   set1 = {1, 2, 3, 3, 3, 2}
   print(set1)
   print('Length =', len(set1))
   set2 = set(range(1, 10))
   print(set2)
   set1.add(4)
   set1.add(5)
   set2.update([11, 12])
   print(set1)
   print(set2)
   set2.discard(5)
   # remove的元素如果不存在会引发KeyError
   if 4 in set2:
       set2.remove(4)
   print(set2)
   # 遍历集合容器
   for elem in set2:
       print(elem ** 2, end=' ')
   print()
   # 将元组转换成集合
   set3 = set((1, 2, 3, 3, 2, 1))
   print(set3.pop())
   print(set3)
   # 集合的交集、并集、差集、对称差运算
   print(set1 & set2)
   # print(set1.intersection(set2))
   print(set1 | set2)
   # print(set1.union(set2))
   print(set1 - set2)
   # print(set1.difference(set2))
   print(set1 ^ set2)
   # print(set1.symmetric_difference(set2))
   # 判断子集和超集
   print(set2 <= set1)
   # print(set2.issubset(set1))
   print(set3 <= set1)
   # print(set3.issubset(set1))
   print(set1 >= set2)
   # print(set1.issuperset(set2))
   print(set1 >= set3)
   # print(set1.issuperset(set3))


if __name__ == '__main__':
   main()

说明:Python中允许通过一些特殊的方法来为某种类型或数据结构自定义运算符(后面的章节中会讲到),上面的代码中我们对集合进行运算的时候可以调用集合对象的方法,也可以直接使用对应的运算符,例如&运算符跟intersection方法的作用就是一样的,但是使用运算符让代码更加直观。