python基础知识-set集合

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'}

小弟初学python,把自己的理解写为博客,所以博客内容仅供参考。 python之路使用python 3.X版本。 更多内容请关注:http://www.cnblogs.com/binges/
原文地址:https://www.cnblogs.com/binges/p/5137168.html