python中set()的用法
作者:野牛程序员:2024-08-13 23:26:02python阅读 2908
python中set()的用法
set() 是 Python 中的一个内置数据类型,表示一个无序、不重复元素的集合。以下是 set() 的常见用法:
1. 创建集合
可以通过直接使用
set()函数创建空集合。可以通过传入一个可迭代对象(如列表、字符串)来创建一个集合。
# 创建空集合
empty_set = set()
# 从列表创建集合
numbers = set([1, 2, 3, 4, 5])
# 从字符串创建集合
letters = set("hello") # 集合将包含 'h', 'e', 'l', 'o'2. 集合的基本操作
添加元素:使用
add()方法向集合添加元素。删除元素:使用
remove()或discard()方法从集合中删除元素。remove()如果元素不存在会报错,而discard()则不会。检查元素:使用
in关键字检查元素是否在集合中。清空集合:使用
clear()方法清空集合中的所有元素。
numbers = set([1, 2, 3])
# 添加元素
numbers.add(4) # numbers 变成 {1, 2, 3, 4}
# 删除元素
numbers.remove(3) # numbers 变成 {1, 2, 4}
# 检查元素
print(2 in numbers) # 输出 True
print(5 in numbers) # 输出 False
# 清空集合
numbers.clear() # numbers 变成空集合 set()3. 集合的集合运算
并集:
union()或|,返回两个集合的并集。交集:
intersection()或&,返回两个集合的交集。差集:
difference()或-,返回当前集合相对于另一个集合的差集。对称差:
symmetric_difference()或^,返回两个集合的对称差集,即只在其中一个集合中的元素。
a = set([1, 2, 3, 4])
b = set([3, 4, 5, 6])
# 并集
print(a.union(b)) # 输出 {1, 2, 3, 4, 5, 6}
print(a | b) # 输出 {1, 2, 3, 4, 5, 6}
# 交集
print(a.intersection(b)) # 输出 {3, 4}
print(a & b) # 输出 {3, 4}
# 差集
print(a.difference(b)) # 输出 {1, 2}
print(a - b) # 输出 {1, 2}
# 对称差集
print(a.symmetric_difference(b)) # 输出 {1, 2, 5, 6}
print(a ^ b) # 输出 {1, 2, 5, 6}4. 集合的其他操作
集合的长度:使用
len()函数获取集合中的元素个数。子集和超集:使用
issubset()和issuperset()方法检查一个集合是否是另一个集合的子集或超集。集合的复制:使用
copy()方法创建集合的浅拷贝。
a = set([1, 2, 3, 4])
b = set([1, 2])
# 集合的长度
print(len(a)) # 输出 4
# 子集和超集
print(b.issubset(a)) # 输出 True
print(a.issuperset(b)) # 输出 True
# 集合的复制
c = a.copy()
print(c) # 输出 {1, 2, 3, 4}#5. 集合推导式
集合推导式可以用来创建集合,其语法类似于列表推导式,但使用 {} 代替 []。
squared_set = {x**2 for x in range(1, 6)} # 输出 {1, 4, 9, 16, 25}总结,set() 在 Python 中是一个功能强大的工具,适用于需要快速去重或集合运算的场景。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

