Python 集合的实战应用:基本操作与练习
发布人:shili8
发布时间:2023-05-24 12:12
阅读次数:103
Python 集合是一种无序、可变的数据类型,它可以存储不同类型的元素,并且每个元素只能出现一次。集合的实现方式是通过哈希表来实现的,因此集合的查找、插入、删除等操作都非常高效。
在实际应用中,Python 集合可以用来解决很多问题,比如去重、交集、并集、差集等。下面我们来看一些集合的基本操作和练习。
1. 创建集合
创建集合的方式有两种,一种是使用花括号 {},另一种是使用 set() 函数。例如:
# 使用花括号创建集合 s1 = {1 2 3 4 5} print(s1) # {1 2 3 4 5} # 使用 set() 函数创建集合 s2 = set([1 2 3 4 5]) print(s2) # {1 2 3 4 5}
2. 添加元素
可以使用 add() 方法向集合中添加元素,如果添加的元素已经存在于集合中,则不会重复添加。例如:
s = {1 2 3} s.add(4) print(s) # {1 2 3 4} s.add(3) print(s) # {1 2 3 4}
3. 删除元素
可以使用 remove() 或 discard() 方法从集合中删除元素,如果删除的元素不存在于集合中,则会抛出 KeyError 异常(remove() 方法)或不做任何操作(discard() 方法)。例如:
s = {1 2 3 4} s.remove(3) print(s) # {1 2 4} s.discard(5) print(s) # {1 2 4}
4. 集合运算
Python 集合支持多种运算,包括交集、并集、差集、对称差集等。例如:
s1 = {1 2 3 4} s2 = {3 4 5 6} # 交集 print(s1 & s2) # {3 4} # 并集 print(s1 | s2) # {1 2 3 4 5 6} # 差集 print(s1 - s2) # {1 2} print(s2 - s1) # {5 6} # 对称差集 print(s1 ^ s2) # {1 2 5 6}
5. 练习
下面是一些使用 Python 集合解决实际问题的练习。
5.1 去重
给定一个列表,去除其中重复的元素。例如:
lst = [1 2 3 2 4 3 5] s = set(lst) lst = list(s) print(lst) # [1 2 3 4 5]
5.2 交集
给定两个列表,找出它们的交集。例如:
lst1 = [1 2 3 4] lst2 = [3 4 5 6] s1 = set(lst1) s2 = set(lst2) s = s1 & s2 lst = list(s) print(lst) # [3 4]
5.3 并集
给定两个列表,找出它们的并集。例如:
lst1 = [1 2 3 4] lst2 = [3 4 5 6] s1 = set(lst1) s2 = set(lst2) s = s1 | s2 lst = list(s) print(lst) # [1 2 3 4 5 6]
5.4 差集
给定两个列表,找出它们的差集。例如:
lst1 = [1 2 3 4] lst2 = [3 4 5 6] s1 = set(lst1) s2 = set(lst2) s = s1 - s2 lst = list(s) print(lst) # [1 2]
5.5 对称差集
给定两个列表,找出它们的对称差集。例如:
lst1 = [1 2 3 4] lst2 = [3 4 5 6] s1 = set(lst1) s2 = set(lst2) s = s1 ^ s2 lst = list(s) print(lst) # [1 2 5 6]
以上就是 Python 集合的基本操作和练习,希望对大家有所帮助。