Python 集合(Set)的十个经典案例_python 集合 discard
Python 集合(Set)是一种无序、可变的数据结构,存储不重复的元素。集合类似于数学上的集合概念,可以进行交集、并集、差集等运算。
1. 创建集合
可以使用花括号 {} 或 set() 函数创建集合。
# 创建空集合
empty_set = set()
# 创建包含元素的集合
numbers = {1, 2, 3, 4, 5}
fruits = {"apple", "banana", "orange"}
2. 添加元素
可以使用 add() 方法向集合中添加元素。
numbers = {1, 2, 3}
numbers.add(4) # numbers = {1, 2, 3, 4}
3. 删除元素
可以使用 remove() 方法或 discard() 方法删除集合中的元素。remove() 方法在元素不存在时会引发 KeyError 异常,而 discard() 方法不会。
numbers = {1, 2, 3, 4}
numbers.remove(3) # numbers = {1, 2, 4}
numbers.discard(5) # numbers = {1, 2, 4} (5 不存在,不会报错)
4. 检查元素是否存在
可以使用 in 关键字检查集合中是否存在指定的元素。
numbers = {1, 2, 3}
if 3 in numbers:
print("3 exists")
5. 集合运算
集合支持交集(&)、并集(|)、差集(-)、对称差集(^)等运算。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection = set1 & set2 # {3}
union = set1 | set2 # {1, 2, 3, 4, 5}
difference = set1 - set2 # {1, 2}
symmetric_difference = set1 ^ set2 # {1, 2, 4, 5}
6. 集合大小
可以使用 len() 函数获取集合的大小(元素个数)。
numbers = {1, 2, 3, 4}
size = len(numbers) # 4
7. 集合遍历
可以使用 for 循环遍历集合中的元素。
fruits = {"apple", "banana", "orange"}
for fruit in fruits:
print(fruit)
8. 集合推导式
可以使用集合推导式创建新的集合。
numbers = [1, 2, 3, 4, 5]
squares = {x**2 for x in numbers} # {1, 4, 9, 16, 25}
9. 去除列表中的重复元素
可以使用集合的特性去除列表中的重复元素。
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = list(set(numbers)) # [1, 2, 3, 4, 5]
10. 判断两个列表是否包含相同的元素
可以使用集合的特性判断两个列表是否包含相同的元素(忽略顺序和重复元素)。
list1 = [1, 2, 3]
list2 = [3, 1, 2]
if set(list1) == set(list2):
print("Lists contain the same elements")
总结:
以上 10 个案例涵盖了 Python 集合的基本操作和常见应用场景。集合的无序性和不重复性使其非常适合处理需要去重或进行集合运算的数据。