set集合
set集合是一个无序并且不重复的元素集合。
创建一个set集合
>>> name = set(‘hello word‘)
>>> name
{‘o‘, ‘e‘, ‘h‘, ‘r‘, ‘d‘, ‘l‘, ‘ ‘, ‘w‘}
set的方法
add()
作用:向set集合里面添加新的元素
>>> name = set(‘hello word‘)
>>> name
{‘o‘, ‘e‘, ‘h‘, ‘r‘, ‘d‘, ‘l‘, ‘ ‘, ‘w‘}
>>> name.add(‘python‘)
>>> name
{‘o‘, ‘e‘, ‘h‘, ‘r‘, ‘d‘, ‘l‘, ‘ ‘, ‘w‘, ‘python‘}
clear()
作用:清空set集合中的所有元素
>>> name
{‘o‘, ‘e‘, ‘h‘, ‘r‘, ‘d‘, ‘l‘, ‘ ‘, ‘w‘, ‘python‘}
>>> name.clear()
>>> name
set()
copy()
作用:浅拷贝
>>> name = set(‘hello‘)
>>> name1 = name.copy()
>>> name1
{‘o‘, ‘e‘, ‘h‘, ‘l‘}
difference()
作用:返回两个或多个集合的差异,并作为一下新集合。而不改变原来的集合。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set1.difference(set2)
{‘h‘}
>>> set2.difference(set1)
{‘w‘}
从例子中可以看出,difference()只找出参数集合在原集合中没有的元素。
可以理解为,拿原集合中的每一个元素去参数集合中做对比,只返回参数集合中没有的元素,作为一个新的集合。
difference_update()
作用:删除原集合和参数集合中相同的元素,并更新原集合。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set1.difference_update(set2)
>>> set1
{‘h‘}
>>> set2
{‘o‘, ‘w‘, ‘e‘, ‘l‘}
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set2.difference_update(set1)
>>> set2
{‘w‘}
>>> set1
{‘o‘, ‘e‘, ‘h‘, ‘l‘}
discard()
作用:移除集合中的指定元素。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set1.discard(‘l‘)
>>> set1
{‘o‘, ‘e‘, ‘h‘}
intersection()
作用:取交集,赋值给一个新的集合。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set3 = set1.intersection(set2)
>>> set3
{‘o‘, ‘e‘, ‘l‘}
intersection_update()
作用:取交集,修改原集合
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set1.intersection_update(set2)
>>> set1
{‘o‘, ‘e‘, ‘l‘}
isdisjoint()
作用,判断是否没有交集,没有交集返回True,有交集返回False。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set1.isdisjoint(set2)
False
>>> set3 = {‘a‘,‘b‘}
>>> set1.isdisjoint(set3)
True
issubset()
作用:判断原集合是否为参数集合的子集,是返回True,不是返回False。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘h‘,‘o‘}
>>> set1.issubset(set2)
False
>>> set2.issubset(set1)
True
issuperset()
作用:判断原集合是否为参数集合的父集,是返回True,不是返回False。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘h‘,‘o‘}
>>> set1.issuperset(set2)
True
>>> set2.issuperset(set1)
False
pop()
作用:随机删除一个元素,并获取这个元素。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = set1.pop()
>>> set2
‘o‘
>>> set1
{‘e‘, ‘h‘, ‘l‘}
remove()
作用:删除一个指定的元素。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set1.remove(‘l‘)
>>> set1
{‘o‘, ‘e‘, ‘h‘}
symmetric_difference()
作用:找出两个集合中所有差集,并赋值给新的集合。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set3 = set1.symmetric_difference(set2)
>>> set3
{‘w‘, ‘h‘}
symmetric_difference_update()
作用:找出两个集合中所有差集,并更改原集合。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set1.symmetric_difference_update(set2)
>>> set1
{‘w‘, ‘h‘}
union()
作用:两个集合的并集。赋值给一个新的集合。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set3 = set1.union(set2)
>>> set3
{‘o‘, ‘e‘, ‘l‘, ‘w‘, ‘h‘}
update()
作用:更新原集合。把参数更新到原集合中。
>>> set1 = {‘h‘,‘e‘,‘l‘,‘o‘}
>>> set2 = {‘e‘,‘l‘,‘o‘,‘w‘}
>>> set1.update(set2)
>>> set1
{‘o‘, ‘e‘, ‘h‘, ‘l‘, ‘w‘}