集合(set)是一个无序的不重复元素序列。因此在每次运行的时候集合的运行结果的内容都是相同的,但元素的排列顺序却不是固定的。
可以使用大括号 { } 或者 set() 函数创建集合。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
或者
set(value)
s={'apple','banana','pear','apple'}#虽然创建时元素有重复,但是会自动去重
print(s)
s1=set()#创建一个空集合
print(type(s1))
{'pear', 'banana', 'apple'}#无序,可能与创建时顺序不一致
2、集合的运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(b)
print(a-b)#a集合中b没有的元素
print(a|b)#并集
print(a&b)#交集
print(a^b)#不同时包含于a和b的元素
{'b', 'd', 'a', 'c', 'r'}
{'l', 'z', 'm', 'a', 'c'}
{'r', 'd', 'b'}
{'l', 'z', 'b', 'm', 'd', 'a', 'c', 'r'}
{'c', 'a'}
{'l', 'z', 'b', 'm', 'r', 'd'}
3、集合的基本操作
(1)添加元素
- add()
一次只能添加一个,如果元素已存在,则不进行任何操作。
s={'apple','banana','pear','apple'}#虽然创建时元素有重复,但是会自动去重
print(s)
s.add('orange')
print(s)
{'pear', 'banana', 'apple'}
{'orange', 'pear', 'banana', 'apple'}
- update()
可以添加元素,且参数可以是列表,元组,字典等,一次可以添加多个,用逗号隔开。
s={'apple','banana','pear','apple'}#虽然创建时元素有重复,但是会自动去重
print(s)
s.update(['name','age'],('sex','hobby'))#同时添加一个列表、元组
print(s)
{'pear', 'banana', 'apple'}
{'age', 'pear', 'sex', 'name', 'apple', 'hobby', 'banana'}
(2)移除元素
- remove
将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
thisset = set(("Google", "W3Cschool", "Taobao"))
thisset.remove("Taobao")
print(thisset)
thisset.remove("Facebook") # 不存在会发生错误
{'W3Cschool', 'Google'}
Traceback (most recent call last):
File ".code.tio", line 5, in
thisset.remove("Facebook") # 不存在会发生错误
KeyError: 'Facebook'
- discard
移除集合中的元素,且如果元素不存在,不会发生错误。
thisset = set(("Google", "W3Cschool", "Taobao"))
thisset.discard("Facebook") # 不存在不会发生错误
print(thisset)
{'Taobao', 'Google', 'W3Cschool'}
- pop
也可以设置随机删除集合中的一个元素
s={'apple','banana','pear','apple'}#虽然创建时元素有重复,但是会自动去重
print(s)
length=len(s)
print(length)
{'pear', 'banana', 'apple'}
3
(4)清空集合clear
thisset = set(("Google", "W3cschool", "Taobao"))
thisset.clear()
print(thisset)
set()#空集合
(5)判断元素是否在集合中存在in
s={'apple','banana','pear','apple'}#虽然创建时元素有重复,但是会自动去重
print(s)
print('apple' in s)
True
4、集合内置方法完整列表



