python set 用法
在Python中,set是一种数据结构,用于存储无序且不重复的元素。与列表和元组不同,set中的元素是无序的,这意味着它们没有固定的顺序,并且元素之间不能重复。set通常用于消除重复元素、执行集合操作(如交集、并集、差集等)以及进行成员检测。
创建set
可以通过花括号{}或set()函数来创建set。
# 使用花括号创建set
s1 = {1, 2, 3, 3, 4, 5} # 重复的元素在set中自动被消除
print(s1) # 输出:{1, 2, 3, 4, 5}
# 使用set()函数创建set
s2 = set([1, 2, 2, 3, 4, 4, 5])
print(s2) # 输出:{1, 2, 3, 4, 5}
基本操作
添加元素
可以使用add()方法将元素添加到set中。
s = {1, 2, 3}
s.add(4)
print(s) # 输出:{1, 2, 3, 4}
删除元素
可以使用remove()、discard()或pop()方法从set中删除元素。
s = {1, 2, 3, 4}
s.remove(2) # 删除元素2
print(s) # 输出:{1, 3, 4}
s.discard(5) # 如果元素不存在,discard()不会报错
print(s) # 输出:{1, 3, 4}
s.pop() # 删除并返回任意一个元素
print(s) # 输出:{1, 3}
集合操作
set支持多种集合操作,如并集(union())、交集(intersection())、差集(difference())以及对称差集(symmetric_difference())。
s1 = {1, 2, 3}
s2 = {2, 3, 4}
# 并集
s3 = s1.union(s2)
print(s3) # 输出:{1, 2, 3, 4}
# 交集
s4 = s1.intersection(s2)
print(s4) # 输出:{2, 3}
# 差集
s5 = s1.difference(s2)
print(s5) # 输出:{1}
# 对称差集
s6 = s1.symmetric_difference(s2)
print(s6) # 输出:{1, 4}
成员检测
可以使用in运算符或set的__contains__()方法来检测元素是否在set中。
s = {1, 2, 3}
print(1 in s) # 输出:True
print(4 in s) # 输出:False
print(s.__contains__(4)) # 输出:False
总结
set是Python中一种非常有用的数据结构,特别适用于需要快速查找和删除重复元素的场景。它支持多种集合操作,如并集、交集、差集等,以及成员检测。通过使用set,可以简化许多编程任务,提高代码效率。
随时随地看视频