Python
集合
集合是一个 无序不重复 元素的序列。
可以使用大括号 { } 或者 set() 函数创建集合。
- set() 创建一个空集合
- { } 创建一个空字典。
- {键:值}是字典
- {值,值,值}是集合
# 集合创建方法
parame = {value01,value02,...}
set(value)
# 不重复特性
orchestra = {'violin', 'brass', 'brass', 'woodwind', 'Percussion'}
print(orchestra)
# 判断元素
print('woodwind' in orchestra)
print('shotgun' in orchestra)
集合设置效果图
你可以在创建集合的时候,在集合的值里面设置相同的元素,不过,集合自身会加以判断,并去除重复的元素。
对集合操作
添加元素到集合中
将元素 violin 和 pistol 添加到集合 orchestra 中,如果元素已存在,则不进行任何操作。
orchestra.add('violin')
orchestra.add('pistol')
print(orchestra)
添加元素效果
我们可以看到,第一次和第二次输出集合 orchestra 的时候,他们的顺序都是不一样的,这是因为集合的无序特性。
在集合中移除元素
移除元素的方法有两种——
- 集合.remove(值)
- 集合.discard(值)
还有一些特殊的玩法—— - 随机弹出集合中的一个元素
- 清空集合。
# 移除元素
orchestra.remove('pistol')
orchestra.discard('shotgun')
# 特殊玩法
print(orchestra.pop())
print(orchestra)
# 清空集合
orchestra.clear()
print(orchestra)
四种移除方法效果
移除元素的时候,如果元素不存在,使用 remove 会报错,而使用 discard 则不会报错。注意 clear 清空,不是删除,清空之后,原来的集合就会变成空集合。
最有意思的是 pop ,这个操作会在集合中 随机弹出 一个值(是不是很久没有更新女票了,这个可以加进去),之后集合就不会再有这个值了。
集合运算
集合和集合可以相互作用。其概念和数学的概念相同,但是值可以为任意形式。
a = set('Viceroy')
b = set('Vittorio.Veneto')
print(len(a)) # 求出集合a的长度
print(len(b))
print(a)
print(a-b) # 求出集合a有,而b没有的元素
print(a|b) # 求出集合a有或者b有的元素
print(a&b) # 求出集合a、b都有的元素
print(a^b) # 求出集合a有b没有,或者b有a没有的元素
运算效果
还有很多的玩法,这里就不一一介绍了,大家可以自己探索。