#集合 set 关键字 无序的不重复的元素
#作用: 不重复特点
#可变元素和不可变元素:
#举例说明不重复特点
list1=[3,5,6,7,8,2,9]
#声明集合:set
s1=set() #创建空集合,只能使用set()
s2={1,2,7} # 字典:{key:value,key:value....} 集合{元素1,元素2,元素3,.....}
print(type(s1))
print(type(s2))
#应用:将一个列表快速去重 set()
s3=set(list1)
print(s3) #{1,2,3,4,5....}
#增删改查
#1.增加 s1= set()
s1.add('hello')
s1.add('小猪佩奇')
s1.add('lucy')
print(s1)
#add() 添加一个元素
#update() 可以添加多个元素
t1=('林志玲','言承旭')
s1.update(t1)
print(s1)
s1.add(t1)
print(s1)
#2.删除 remove 如果元素存在则删除,不存在则报错KeyError pop 速记删除(一般删除第一个元素) clear
s1.remove('言承旭')
print(s1)
# s1.remove('道明寺') #KeyError: '道明寺'
# print(s1)
s1.pop()
print(s1)
s1.pop()
print(s1)
s1.clear() # 清空
print(s1)
#discard() 类似remove() 在移除不存在的元素的时候不会报错
t2=('周杰伦','爱迪生')
s1.update(t2)
print(s1)
s1.add('猪八戒')
print(s1)
s1.discard('孙悟空')
print(s1)
执行结果:
<class 'set'>
<class 'set'>
{2, 3, 5, 6, 7, 8, 9}
{'hello', '小猪佩奇', 'lucy'}
{'小猪佩奇', 'hello', '言承旭', 'lucy', '林志玲'}
{('林志玲', '言承旭'), '小猪佩奇', 'hello', '言承旭', 'lucy', '林志玲'}
{('林志玲', '言承旭'), '小猪佩奇', 'hello', 'lucy', '林志玲'}
{'小猪佩奇', 'hello', 'lucy', '林志玲'}
{'hello', 'lucy', '林志玲'}
set()
{'爱迪生', '周杰伦'}
{'猪八戒', '爱迪生', '周杰伦'}
{'猪八戒', '爱迪生', '周杰伦'}