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

结束语:

由于本人水平有限,难免会出现各种错误,欢迎大家批评指正,我在这里谢谢大家!文章后续可能有更新,具体还看学习情况和时间安排,当然,也欢迎大家评论,一起学习一起进步!