Python中集合的基本用法

时间:2019-08-23
本文章向大家介绍Python中集合的基本用法,主要包括Python中集合的基本用法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
  1 """ Python中集合的基本用法 """
  2 "集合是一个无序的不重复元素序列"
  3 "创建集合可以使用{}或set(),【注】:创建一个空集合必须用set(),而不能用{},因为{}是用于创建空字典"
  4 basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
  5 print(basket)  # 这里用于演示集合的不重复性
  6 
  7 # 下面用于演示集合间的运算
  8 a = set('abracadabra')
  9 b = set('alacazam')
 10 print(a)
 11 print(a-b)  # 集合a中包含而集合b中不包含的元素
 12 print(a|b)  # 集合a或b中包含的所有元素
 13 print(a&b)  # 集合a和b中同时包含的元素
 14 print(a^b)  # 不同时包含于a和b中的元素
 15 
 16 # 添加元素
 17 s = {"Google", "Runoob", "Taobao"}
 18 s.add("Baidu")  # 添加元素Baidu于集合中
 19 print(s)
 20 s.update({"Sohu"})  # 添加元素Sohu于集合中
 21 print(s)
 22 
 23 # s.remove(x)移除元素
 24 s1 = {"Google", "Runoob", "Taobao"}
 25 s1.remove("Runoob")
 26 print(s1)
 27 
 28 # s.discard(x)也是移除集合中的元素,且如果元素不存在,不会发生错误。
 29 s2 = {"Google", "Runoob", "Taobao"}
 30 s2.discard("Baidu")  # 移除集合中不存在的元素,打印仍显示s2中的元素
 31 print(s2)
 32 
 33 # s.pop()随机删除集合中的一个元素
 34 s3 = {"Google", "Runoob", "Taobao"}
 35 s3.pop()
 36 print(s3)
 37 
 38 # len(s)计算集合中元素的个数
 39 s4 = {"Google", "Runoob", "Taobao"}
 40 print(len(s4))
 41 
 42 # set.difference(set)返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合中。
 43 x = {"apple", "banana", "cherry"}
 44 y = {"google", "microsoft", "apple"}
 45 z = x.difference(y)
 46 print(z)
 47 
 48 # set.difference_update(set)用于移除两个集合中都存在的元素。
 49 x1 = {"apple", "banana", "cherry"}
 50 y1 = {"google", "microsoft", "apple"}
 51 z1 = x1.difference(y1)
 52 print(z)
 53 
 54 
 55 # set.intersection(set1, set2 ... etc)用于返回两个或更多集合中都包含的元素,即交集。
 56 x2 = {"apple", "banana", "cherry"}
 57 y2 = {"google", "microsoft", "apple"}
 58 z2 = x2.intersection(y2)
 59 print(z2)
 60 
 61 #  set.intersection_update(set1, set2 ... etc)用于获取两个或更多集合中都重叠的元素,即计算交集。
 62 "intersection_update() 方法不同于 intersection() 方法,因为 intersection() 方法是返回一个新的集合,而 intersection_update() 方法是在原始的集合上移除不重叠的元素。"
 63 x3 = {"apple", "banana", "cherry"}
 64 y3 = {"google", "microsoft", "apple"}
 65 x3.intersection_update(y2)
 66 print(x3)
 67 
 68 # set.isdisjoint(set)用于判断两个集合是否包含相同的元素,如果包含返回True,否则返回False。
 69 x4 = {"apple", "banana", "cherry"}
 70 y4 = {"google", "microsoft", "apple"}
 71 z4 = x4.isdisjoint(y4)
 72 print(z4)
 73 
 74 # set.issubset(set)用于判断集合的所有元素是否都包含在指定集合中,如果是则返回True,否则返回False。
 75 x5 = {"apple", "banana", "cherry"}
 76 y5 = {"google", "microsoft", "apple"}
 77 z5 = x5.issuperset(y5)  # 判断集合x5中的元素是否全都在集合y5中
 78 print(z5)
 79 
 80 # set.issuperset(set)用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回True,否则返回False。
 81 x6 = {"f", "e", "d", "c", "b", "a"}
 82 y6 = {"a", "b", "c"}
 83 z6 = x6.issuperset(y6)  #判断y6中的元素是否都包含在x6中
 84 print(z6)
 85 
 86 # set.symmetric_difference(set)用于返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。
 87 x7 = {"apple", "banana", "cherry"}
 88 y7 = {"google", "runoob", "apple"}
 89 z7 = x7.symmetric_difference(y7)
 90 print(z7)
 91 
 92 # set.symmetric_difference_update(set)移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
 93 x8 = {"apple", "banana", "cherry"}
 94 y8 = {"google", "runoob", "apple"}
 95 x8.symmetric_difference_update(y8)
 96 print(x8)
 97 
 98 # set.union(set1, set2)用于合并两个集合,即包含了所有集合的元素,重复的元素只会出现一次。
 99 x9 = {"apple", "banana", "cherry"}
100 y9 = {"google", "runoob", "apple"}
101 z9 = x9.union(y9)
102 print(z9)
Python中集合的基本用法

原文地址:https://www.cnblogs.com/Junlong/p/11398622.html