python集合
本文介绍python中的集合和集合的相关操作,python程序运行环境为pycharm (ubuntu 16.04),采用的python解释器为 anaconda3。
1-定义:集合(set)是一个无序的不重复元素序列。(集合和元素的顺序无关,并且元素之间必须不同,这点与列表有很大不同)
2-创建集合:可以使用大括号{ }或者set()函数创建集合,如:
#列表
value=[1,2,3]
#创建集合方式一
hl_set_1={'a','b','c'}
#创建集合方式二,将其他类型转化为集合类型
hl_set_2=set(value)
3-集合中的操作:在数学中,集合有子集、交集、并集、补集、空集、全集等概念,在python中同样存在,并且python中还有其他很多操作,下面介绍一些常用操作。
3_1添加元素
语法格式:a.add( b ) (也可以使用a.update(b)方式)
功能:将元素 b 添加到集合 a 中,如果元素已存在,则不进行任何操作。
实例:
hl_set_1={'a','b','c'}
print(hl_set_1)
hl_set_1.add('abc')
print(hl_set_1)
输出:
{'b', 'a', 'c'}
{'abc', 'b', 'a', 'c'}
3_2删除元素
语法格式:a.remove( b ) (也可以使用a.pop()函数进行随机删除)
功能:将元素 b 从集合 a 中删除,如果元素不存在,则会发生错误。
实例:
hl_set_1={'a','b','c'}
print(hl_set_1)
hl_set_1.remove('a')
print(hl_set_1)
输出:
{'b', 'a', 'c'}
{'b', 'c'}
3_3 判断元素是否存在
语法格式:b in a
功能:判断元素 b 是否在集合a 中,存在返回 True,不存在返回 False。
实例:
hl_set_1={'a','b','c'}
print('a'in hl_set_1)
print('d'in hl_set_1)
输出:
True
False
3_4清空集合
语法格式:a.clear()
功能:清空集合a
实例:
hl_set_1={'a','b','c'}
hl_set_1.clear()
print(hl_set_1)
输出:
set()
3_5集合长度
语法格式:len(a)
功能:输出集合a长度(元素个数)
实例:
hl_set_1={'a','b','c'}
print(len(hl_set_1))
输出:
3
3_6复制集合
语法格式:b=a.copy()
功能:复制a集合到b
实例:
hl_set_1={'a','b','c'}
hl_set_2=hl_set_1.copy()
print(hl_set_2)
输出:
{'a', 'c', 'b'}
3_7差集操作
语法格式:a.difference_update(b) (也可以用difference()函数返回多个集合的差集)
功能:求a b差集,更新到a
实例:
hl_set_1={'a','b','c'}
hl_set_2={'a','d'}
hl_set_1.difference_update(hl_set_2)
print(hl_set_1)
print(hl_set_2)
输出:
{'c', 'b'}
{'a', 'd'}
3_8并集操作
语法格式a.union(b)
功能:求a b并集,更新到a
实例:
hl_set_1={'a','b','c'}
hl_set_2={'a','d'}
print(hl_set_1.union(hl_set_2))
输出:
{'a', 'b', 'c', 'd'}
3_9交集操作
语法格式a.intersection(b)
功能:求a b交集,更新到a
实例:
hl_set_1={'a','b','c'}
hl_set_2={'a','d'}
print(hl_set_1.intersection(hl_set_2))
输出:
{'a'}
3_10子集判断
语法格式a.issubset(b)
功能:检测a集合是否是b集合的子集
实例:
hl_set_1={'a','b','c'}
hl_set_2={'a'}
print(hl_set_2.issubset(hl_set_1))
输出:
True
结束语:
由于本人水平有限,难免会出现各种错误,欢迎大家批评指正,我在这里谢谢大家!文章后续可能有更新,具体还看学习情况和时间安排,当然,也欢迎大家评论,一起学习一起进步!