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

Python set() 函数用法及示例

发布时间:2023-06-05 04:12:51

Python 中 set() 函数是一种用于创建集合的函数,可以把一个列表、元组、字典等可迭代对象转换为一个集合。

set() 函数可以有以下三种方式使用:

1. 创建一个空的集合:

s = set()

2. 把一个可迭代对象转换成集合:

# 列表转换为集合
s1 = set([1, 2, 3])
print(s1) # {1, 2, 3}

# 字符串转换为集合
s2 = set('hello')
print(s2) # {'e', 'h', 'l', 'o'}

# 元组转换为集合
s3 = set((4, 5, 6))
print(s3) # {4, 5, 6}

# 集合转换为集合(什么也不会发生)
s4 = set({1, 2, 3})
print(s4) # {1, 2, 3}

3. 通过 {} 创建集合

s = {1, 2, 3}

需要注意的是,如果我们想要创建一个空集合,不能使用 {} 来创建,因为它会被 Python 解释器认为是一个空字典。

set() 函数常用的四个方法

1. add() 方法

向集合中添加一个元素,如果元素已经存在于集合中,则不会进行任何操作。

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

2. remove() 方法

从集合中删除一个元素,如果元素不存在于集合中,则抛出 KeyError 异常。

s = {1, 2, 3}
s.remove(2)
print(s) # {1, 3}

3. discard() 方法

从集合中删除一个元素,如果元素不存在于集合中,则什么也不会发生。

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

4. pop() 方法

从集合中删除一个随机元素,并返回该元素。

s = {1, 2, 3}
print(s.pop()) # 1
print(s) # {2, 3}

set() 函数的应用场景

1. 数据去重

由于集合中的元素是 的,因此可以用 set() 函数来实现数据去重的功能。

nums = [1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 8, 9]
unique_nums = set(nums)
print(unique_nums) # {1, 2, 3, 4, 5, 6, 7, 8, 9}

2. 判断一个元素是否在集合中

由于集合中的元素是 的,因此可以用 set() 函数来判断一个元素是否存在于集合中。

s = {'apple', 'banana', 'orange'}
print('apple' in s) # True
print('grape' in s) # False

3. 求两个集合的并、交、差

可以使用 set() 函数的方法和操作符来计算两个集合的并、交、差等运算。

s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}

# 求并集
print(s1.union(s2)) # {1, 2, 3, 4, 5, 6}
print(s1 | s2) # {1, 2, 3, 4, 5, 6}

# 求交集
print(s1.intersection(s2)) # {3, 4}
print(s1 & s2) # {3, 4}

# 求差集
print(s1.difference(s2)) # {1, 2}
print(s1 - s2) # {1, 2}

# 求对称差集
print(s1.symmetric_difference(s2)) # {1, 2, 5, 6}
print(s1 ^ s2) # {1, 2, 5, 6}

总结

本文介绍了 set() 函数的用法及常见的四个方法,并且演示了 set() 函数在数据去重、判断元素是否存在于集合中和求交、并、差等集合运算中的应用场景。set() 函数的应用非常广泛,在日常的 Python 编程中经常用到。