Pro119-泡面Python[Py#019]——5min-基础-Set 集合

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)
Pro119-泡面Python[Py#019]——5min-基础-Set 集合_第1张图片
四种移除方法效果

 移除元素的时候,如果元素不存在,使用 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没有的元素
Pro119-泡面Python[Py#019]——5min-基础-Set 集合_第2张图片
运算效果

 还有很多的玩法,这里就不一一介绍了,大家可以自己探索。

你可能感兴趣的:(Pro119-泡面Python[Py#019]——5min-基础-Set 集合)