欢迎访问宙启技术站
智能推送

Python中集合函数的用法

发布时间:2023-06-02 02:41:53

集合是Python中的一种数据类型,它是无序的,可变的,且不允许重复元素的一种容器。Python中内置了很多操作集合的函数,这些函数能够方便地进行集合的操作。

1. 创建集合

在Python中,可以使用花括号({})或set()函数来创建集合。

set1 = {'a', 'b', 'c'}
set2 = set(['c', 'd', 'e'])

2. 添加元素

可以使用add()函数来向集合添加元素。

set1 = {'a', 'b', 'c'}
set1.add('d')
# {'a', 'b', 'c', 'd'}

3. 删除元素

可以使用remove()、discard()和pop()函数来删除元素。remove()函数会删除指定元素,如果元素不存在会报错;discard()函数也会删除指定元素,但是元素不存在不会报错;pop()函数会随机删除集合中的一个元素。

set1 = {'a', 'b', 'c', 'd'}
set1.remove('d')
# {'a', 'b', 'c'}
set1.discard('e')
# {'a', 'b', 'c'}
set1.pop()
# 'a',随机删除集合中的一个元素
# {'b', 'c'}

4. 交集、并集、差集

可以使用&、|、-运算符来进行交集、并集、差集的操作。

set1 = {'a', 'b', 'c'}
set2 = {'c', 'd', 'e'}
# 交集
set3 = set1 & set2
# {'c'}
# 并集
set4 = set1 | set2
# {'a', 'b', 'c', 'd', 'e'}
# 差集
set5 = set1 - set2
# {'a', 'b'}

5. 判断是否为子集或超集

可以使用issubset()和issuperset()函数来判断是否为子集或超集。

set1 = {'a', 'b'}
set2 = {'a', 'b', 'c', 'd', 'e'}
set3 = {'a', 'c'}
# 判断set1是否为set2的子集
set1.issubset(set2)
# True
# 判断set2是否为set1的超集
set2.issuperset(set1)
# True
# 判断set1和set3是否有交集
set1.isdisjoint(set3)
# False

6. 其他函数

除了以上常用的函数,Python还提供了其它函数来操作集合。

set1 = {'a', 'b', 'c'}
# 清空集合
set1.clear()
# set()
set2 = {'c', 'd', 'e'}
# 复制集合
set3 = set2.copy()
# {'c', 'd', 'e'}
# 获取集合长度
set_len = len(set3)
# 3

总体来说,Python中的集合函数种类繁多,能够满足大部分集合操作需求。在编写Python程序时,熟练掌握集合操作函数能够提高程序的效率,简化代码的编写。