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

Python中常用的集合函数及其用法

发布时间:2023-05-31 09:56:33

Python中集合是一种可变的无序容器,可以存储任意类型的数据,且每个元素都是 的。集合的功能比列表更强大,支持集合的交、并、差等操作。在Python中,集合有许多内置的函数和方法,本文将介绍并讲解一些常用的集合函数和方法。

1. set()

set()函数创建一个空集合,或者从可迭代对象(如列表、元组等)中创建一个集合。

语法:

set()

set(iterable)

实例:

# 创建一个空集合

s = set()

print(type(s))  # <class 'set'>

# 从列表中创建一个集合

l = [1, 2, 3, 4]

s = set(l)

print(s)  # {1, 2, 3, 4}

2. add()

add()方法在集合中添加一个元素。如果元素已经存在,则不会有任何影响。如果添加多个元素,则可以多次调用该方法。

语法:

set.add(elem)

实例:

s = {1, 2, 3}

s.add(4)

print(s)  # {1, 2, 3, 4}

s.add(2)

print(s)  # {1, 2, 3, 4}

3. remove()

remove()方法从集合中移除指定元素。如果元素不存在,则会抛出KeyError异常。

语法:

set.remove(elem)

实例:

s = {1, 2, 3}

s.remove(2)

print(s)  # {1, 3}

s.remove(4)  # 抛出KeyError异常

4. pop()

pop()方法从集合中移除一个随机元素,并返回该元素的值。如果集合为空,则会抛出KeyError异常。

语法:

set.pop()

实例:

s = {1, 2, 3}

x = s.pop()

print(s)  # {2, 3}

print(x)  # 1

s.pop()

s.pop()

s.pop()  # 抛出KeyError异常

5. clear()

clear()方法从集合中移除所有元素。

语法:

set.clear()

实例:

s = {1, 2, 3}

s.clear()

print(s)  # set()

6. copy()

copy()方法返回集合的一个副本。

语法:

set.copy()

实例:

s1 = {1, 2, 3}

s2 = s1.copy()

print(s2)  # {1, 2, 3}

s1.add(4)

print(s1)  # {1, 2, 3, 4}

print(s2)  # {1, 2, 3}

7. intersection()

intersection()方法返回两个或多个集合的交集。

语法:

set1.intersection(set2, set3, ...)

实例:

s1 = {1, 2, 3, 4}

s2 = {3, 4, 5, 6}

s3 = {2, 4, 6, 8}

s4 = {1, 3, 5, 7}

s5 = s1.intersection(s2, s3, s4)

print(s5)  # {4}

8. union()

union()方法返回两个或多个集合的并集。

语法:

set1.union(set2, set3, ...)

实例:

s1 = {1, 2, 3, 4}

s2 = {3, 4, 5, 6}

s3 = {2, 4, 6, 8}

s4 = {1, 3, 5, 7}

s5 = s1.union(s2, s3, s4)

print(s5)  # {1, 2, 3, 4, 5, 6, 7, 8}

9. difference()

difference()方法返回两个集合之间的差集。

语法:

set1.difference(set2)

实例:

s1 = {1, 2, 3, 4}

s2 = {3, 4, 5, 6}

s3 = s1.difference(s2)

print(s3)  # {1, 2}

10. symmetric_difference()

symmetric_difference()方法返回两个集合之间的对称差集,即两个集合中不重复的元素的集合。

语法:

set1.symmetric_difference(set2)

实例:

s1 = {1, 2, 3, 4}

s2 = {3, 4, 5, 6}

s3 = s1.symmetric_difference(s2)

print(s3)  # {1, 2, 5, 6}

这些函数是Python集合中最常用的一些函数。掌握这些函数可以更方便、高效地进行集合操作。需要注意的是,Python的集合操作是基于集合的数学理论实现的,因此一些集合函数的行为可能与列表函数不同。