您的位置:

Python set函数:高效地存储唯一值

一、Python set函数简介

Python set函数是一种无序且不重复的数据类型,可以存储多个元素,并且能够对重复元素进行去重处理。它能够高效地存储唯一值,是Python中十分实用的函数之一。

Python set函数中,大括号 {} 用于创建set对象,多个元素之间用逗号隔开。如果想要创建空的set对象,需要使用set()函数。


# 创建set对象
set1 = {1, 2, 3, 4, 5}
set2 = set([1, 2, 3, 4, 5])

# 创建空的set对象
set3 = set()

二、去重

Python set函数最常用的功能是去重。只需要将要去重的元素作为参数传入set函数,既可以将重复的元素去重,同时保留第一个出现的元素。


# 将列表转为set并去重
list1 = [1, 2, 2, 3, 3, 4, 4, 5]
set1 = set(list1)
print(set1) # 输出{1, 2, 3, 4, 5}

# 直接使用set去重
set2 = {1, 2, 2, 3, 3, 4, 4, 5}
print(set2) # 输出{1, 2, 3, 4, 5}

另外,如果想要将一个字符串中的重复字符去重,则可以先将字符串转为列表,再使用set函数。


# 字符串去重
s = "hello world"
lst = list(s)
set1 = set(lst)
print(set1) # 输出{'h', 'l', 'o', 'w', 'r', 'd', 'e', ' '}

三、集合运算

在Python set函数中,还提供了一些常用的集合运算,如并集、交集、差集等。

1、并集

两个集合的并集是将两个集合中的所有元素合并,去重后得到的新集合。


set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1.union(set2)
print(set3) # 输出{1, 2, 3, 4, 5}

# 或者使用 | 运算符
set4 = set1 | set2 
print(set4) # 输出{1, 2, 3, 4, 5}

2、交集

两个集合的交集是包含在两个集合中的共同元素构成的新集合。


set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1.intersection(set2)
print(set3) # 输出{3}

# 或者使用 & 运算符
set4 = set1 & set2 
print(set4) # 输出{3}

3、差集

两个集合的差集可以理解为A集合中除去和B集合共有的元素后,剩下的元素构成的新集合。

 
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1.difference(set2)
print(set3) # 输出{1, 2}

# 或者使用 - 运算符
set4 = set1 - set2 
print(set4) # 输出{1, 2}

四、其他函数

除了常用的去重和集合运算功能,Python set函数还提供了一些其他的实用函数。

1、add函数

add函数用于将一个元素添加到set对象中。


set1 = {1, 2, 3}
set1.add(4)
print(set1) # 输出{1, 2, 3, 4}

2、remove函数

remove函数用于从set对象中移除指定元素,如果元素不存在则会抛出异常。


set1 = {1, 2, 3}
set1.remove(3)
print(set1) # 输出{1, 2}

3、copy函数

copy函数用于复制一个set对象。


set1 = {1, 2, 3}
set2 = set1.copy()
print(set2) # 输出{1, 2, 3}

五、总结

Python set函数是一种高效存储唯一值的数据类型,可以对重复元素进行去重处理,也提供了常用的集合运算功能。在实际开发中,掌握Python set函数的基本用法和常用函数,能够提高编程效率。