集合的作用:
- 确保里面包含的元素的唯一性,集合内不会存在两个相同的元素
- 两个集合或多个集合可以进行交(∩)、并(∪)、差操作。
集合的操作
1、创建集合
- {}
- set()
使用{}或使用set(x),但空集合只能用set(x)创建,因为{ }表示的是空字典。
>>> a = set([1,2,3])
>>> b = set({1,2,3})
>>> c = set('asd')
>>> print(a,b,c)
{1, 2, 3} {1, 2, 3} {'s', 'a', 'd'} ### 可以看出set()函数对传入的可迭代对象进行迭代,取出每一个元素形成集合
>>> print(a[0],b[0],c[0])
TypeError: 'set' object does not support indexing #### 可以看出集合是不支持索引的
set()函数通过传入序列,迭代取出每一个元素形成集合。
2、添加元素
- s.add(x)
- s.update(x)
x可以是多个,如果元素已存在则不进行操作。
>>>thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.add("Facebook")
>>> print(thisset)
{'Taobao', 'Facebook', 'Google', 'Runoob'}
>>>thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.add("Facebook")
>>> print(thisset)
{'Taobao', 'Facebook', 'Google', 'Runoob'}
3、删除元素
- s.remove(x):元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
- s.discard(x):移除集合中的元素,且如果元素不存在,不会发生错误。
- s.clear():清空整个集合
>>>thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.remove("Taobao")
>>> print(thisset)
{'Google', 'Runoob'}
>>> thisset.remove("Facebook") # 不存在会发生错误
KeyError: 'Facebook'
4、集合之间的操作
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}