python基础之set集合详解

  • Post category:Python

Python基础之set集合详解

一、set集合简介

set是python内置的数据结构之一,基本数据类型与tuple、list、dictionary相近,但是set中的元素是无序、不重复的。可以使用{}或者set()函数来创建set集合,但是不能使用{}来创建空的set,否则会创建一个空的字典。

# 创建一个set集合
my_set = {1, 2, 3, 4}

print(my_set)  # 输出结果:{1, 2, 3, 4}

# 创建一个空的set集合,必须使用set()函数
empty_set = set()

print(empty_set)  # 输出结果:set()

二、set集合的常用操作

1. 添加元素

set集合中的元素不重复,如果添加的元素已经存在于set集合中,则添加操作不会生效。可以使用add()函数来添加单个元素,使用update()函数来添加多个元素。

# 创建一个set集合
my_set = {1, 2, 3, 4}

# 添加单个元素
my_set.add(5)

print(my_set)  # 输出结果:{1, 2, 3, 4, 5}

# 添加多个元素
my_set.update([6, 7, 8])

print(my_set)  # 输出结果:{1, 2, 3, 4, 5, 6, 7, 8}

2. 删除元素

可以使用remove()函数来删除set集合中的元素,如果要删除的元素不存在于set集合中,则会引发KeyError异常。可以使用discard()函数来删除set集合中的元素,如果要删除的元素不存在于set集合中,则不会产生任何影响。

# 创建一个set集合
my_set = {1, 2, 3, 4}

# 删除单个元素
my_set.remove(2)

print(my_set)  # 输出结果:{1, 3, 4}

# 删除单个元素,元素不存在会引发KeyError异常
my_set.remove(2)

# 删除单个元素,元素不存在不会产生影响
my_set.discard(2)

print(my_set)  # 输出结果:{1, 3, 4}

3. 集合运算

可以使用set集合可以进行常见的集合运算操作,例如并集、交集和差集等。

# 创建两个set集合
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}

# 并集
union_set = set1 | set2

print(union_set)  # 输出结果:{1, 2, 3, 4, 5, 6}

# 交集
intersection_set = set1 & set2

print(intersection_set)  # 输出结果:{3, 4}

# 差集
difference_set = set1 - set2

print(difference_set)  # 输出结果:{1, 2}

三、示例说明

1. 去除列表中的重复项

# 创建一个列表
my_list = [1, 1, 2, 2, 3, 3]

# 将列表转换为set集合,去除重复项
my_set = set(my_list)

print(my_set)  # 输出结果:{1, 2, 3}

2. 对比两个列表的不同之处

# 创建两个列表
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# 将列表转换为set集合,进行差集操作
diff_set = set(list1) - set(list2)

print(diff_set)  # 输出结果:{1, 2}

至此,我们已经详细讲解了set集合的各项操作及示例,希望对大家学习Python编程有所帮助。