Python集合set()使用的方法详解

  • Post category:Python

Python集合set()使用的方法详解

1. 简介

Python中的set()是一个无序且不包含重复元素的数据结构,它是一种用于存储数据的高效方式。set()可以用于去除重复元素,快速判断一个元素是否存在于集合中等操作。本文将详细介绍Python set()的创建、添加、删除、查询等常用操作。

2. 创建集合

使用set()函数可以创建一个空的集合:

s = set()

我们也可以将一个list或元组转换为集合:

list1 = [1, 2, 3, 4, 3, 2, 1]
set1 = set(list1)
print(set1)
# 输出:{1, 2, 3, 4}

注意:创建空集合时必须使用set()而不能使用{},否则创建出的是空字典。

3. 添加元素

使用add()方法可以向集合中添加元素:

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

使用update()方法可以向集合中添加多个元素:

set2 = set()
set2.update([1, 2], [2, 3], [3, 4])
print(set2)
# 输出:{1, 2, 3, 4}

4. 删除元素

使用remove()方法可以删除集合中的元素:

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

注意:如果要删除的元素不存在于集合中,会抛出KeyError错误。

使用discard()方法也可以删除集合中的元素,但如果删除的元素不存在于集合中,discard()方法并不会抛出错误:

set1 = set([1, 2, 3])
set1.discard(4)
print(set1)
# 输出:{1, 2, 3}

使用pop()方法可以删除集合中的任意一个元素,并返回被删除的元素:

set1 = set([1, 2, 3])
print(set1.pop())
# 输出:1

使用clear()方法可以清空整个集合:

set1 = set([1, 2, 3])
set1.clear()
print(set1)
# 输出:set()

5. 查询元素

可以使用in关键字来查询一个元素是否存在于集合中:

set1 = set([1, 2, 3])
print(2 in set1)
# 输出:True
print(4 in set1)
# 输出:False

6. 其他操作

使用len()方法可以获取集合中元素的个数:

set1 = set([1, 2, 3])
print(len(set1))
# 输出:3

使用copy()方法可以复制一个集合:

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

7. 示例

示例1

统计一句话中不同单词的个数:

sentence = "I love Python and Python loves me"
word_list = sentence.split()
word_set = set(word_list)
print(len(word_set))
# 输出:6

示例2

找到一组数中的最大值和最小值:

num_set = set([1, 5, 3, 8, 2, 4])
print("最大值:", max(num_set))
print("最小值:", min(num_set))
# 输出:最大值:8,最小值:1

8. 总结

Python中的集合set()是一个高效的数据结构,它可以用于去除重复元素、快速判断元素是否存在于集合中等操作。我们可以使用add()、update()、remove()、discard()、pop()、clear()等方法对集合进行增、删、改、查等操作,使用in关键字查询元素是否存在于集合中。同时,我们也可以使用copy()、len()等方法对集合进行其他操作。