1、集合
集合可以理解为一个没有重复元素的列表,也可以理解为一个舍弃了值,仅剩下键的字典,如果仅仅想知道某一元素是否存在而不关心其他,使用集合是非常好的选择。
2、创建集合
可以使用set()创建一个集合,也可以用{}将一系列以逗号隔开的值包裹起来创建一个集合。
>>> a=set()
>>> a
set()
>>> b={1,2,3,4}
>>> b
{1, 2, 3, 4}
>>> type(b)
<class 'set'>
>>> c={}
>>> c
{}
>>> type(c)
<class 'dict'>
>>>
注意:直接使用{}创建的是一个空字典而不是一个空集合,创建空集合必须使用set()
3、测试值是否存在
使用in判断某个值是否存在于集合中
>>> s={'a','b','c','d','e'}
>>> s
{'a', 'd', 'b', 'c', 'e'}
>>> 'b'in s
True
>>> 'f' in s
False
>>>
4、集合中的运算符
(1)交集
使用&或者集合方法intersection()获取两个集合的交集
>>> a={1,2,3}
>>> b={2,3,4,5}
>>> a & b
{2, 3}
>>> a.intersection(b)
{2, 3}
>>>
(2)并集
使用| 或者union()方法获取集合并集
>>> a
{1, 2, 3}
>>> b
{2, 3, 4, 5}
>>> a | b
{1, 2, 3, 4, 5}
>>> a.union(b)
{1, 2, 3, 4, 5}
>>>
(3)差集
使用- 或者difference()获得两个集合的差集
>>> a
{1, 2, 3}
>>> b
{2, 3, 4, 5}
>>> a-b
{1}
>>> b-a
{4, 5}
>>> a.difference(b)
{1}
>>> b.difference(a)
{4, 5}
>>>
(4)异或集(仅在两个集合中出现一次)
使用^ 或方法symmetric_difference()获得两个集合的异或集
>>> a
{1, 2, 3}
>>> b
{2, 3, 4, 5}
>>> a ^ b
{1, 4, 5}
>>> a.symmetric_difference(b)
{1, 4, 5}
>>>
(5)、子集
使用<= 或issubset()判断一个集合是否是另一个集合的子集,使用< 判断是否是真子集
>>> a
{1, 2, 3}
>>> b
{2, 3, 4, 5}
>>> c
{2, 3, 4}
>>> a <= b
False
>>> c <= b
True
>>> a.issubset(b)
False
>>> c.issubset(b)
True
>>>
(6)、超集
与子集相反,使用>= 或者issuperset()判断一个集合是否值另一个集合的超集,使用>判断是否是真超集
>>> a
{1, 2, 3}
>>> b
{2, 3, 4, 5}
>>> c
{2, 3, 4}
>>> b >= a
False
>>> b >= c
True
>>> b.issuperset(a)
False
>>> b.issuperset(c)
True
>>>