集合(set)是一个无序的不重复元素序列。
创建格式两种方式:
set()
{value}
注意:不能是空的{},因为这是用来创建字典的。
basket = {'apple', 'orange', 'apple', 'pear', 'orange','banana'}
print(basket)
# {'orange', 'banana', 'pear', 'apple'},不重复
a = set('abracadabra')
print(a)
# {'a', 'r', 'b', 'c', 'd'}
集合之间的运算(交际、并集,合集)
a = set('abracadabra')
b = set('alacazam')
print( a - b) # 在a不在b的元素
print( a | b) # a 和 b 所有的元素
print( a & b ) # ab交集
print( a ^ b ) # 在a不在b + 在b不在a
添加元素
- 添加普通元素
s.add( x )
thisset = set(("Google", "Runoob", "Taobao"))
thisset.add("Facebook")
print(thisset)
- 添加列表、元组、字典等元素
s.update( x )
thisset = set(("Google", "Runoob", "Taobao"))
thisset.update({1, 3})
print(thisset)
# {1, 3, 'Google', 'Taobao', 'Runoob'}
thisset.update([1,4],[5,6])
print(thisset)
# {1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}
注意:不管添加什么类型的元素,到集合里面都不会带着原有的格式
移除元素- s.remove( x )
若要移除的元素不存在,则会报错
thisset = set(("Google", "Runoob", "Taobao"))
thisset.remove("Taobao")
print(thisset)
# {'Google', 'Runoob'}
thisset.remove("Facebook") # 不存在会发生错误
# KeyError: 'Facebook'
>>>
- s.discard( x )
即使要删除的元素不存在也不会报错
thisset = set(("Google", "Runoob", "Taobao"))
thisset.discard("Facebook")
print(thisset)
# {"Google", "Runoob", "Taobao"}
# 不会报错
随机删除
pop()
返回值为 随机删除的元素
thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
x = thisset.pop()
print(x)



