set
的概念和特点set
的基本操作,比如创建、插入、删除、查找set
的常用方法
集合:
也是一种数据结构,和数学中的集合类似,它用
于存储一组不重复的元素,并且不保证元素的顺序。查找通常是集合最重要的操作。
1.可以使用大括号{}
创建集合,元素与元素之间使用逗号,
分隔。
my_set = {1, 2, 3}
2.或者可以使用set()函数
创建集合,或者是列表转为集合
my_set1 = set([1, 2, 3])
#创建空结合
my_set2 = set()
使用in
关键字判断某个元素是否在集合中
my_set = {"Tom", "Jerry", "Mike"}
# 判断元素是否在集合中
if "Tom" in my_set:
集合可以自动去重
my_list = [1, 2, 3, 3, 4, 5, 5]
my_set = set(my_list) # 将列表转换为集合,去除重复元素
unique_list = list(my_set) # 将集合转换回列表, 此时列表是[1,2,3,4,5]
集合求交并差集合
set1 = {1, 2, 3}
set2 = {3, 4, 5}
u_set = set1 | set2 # 并集,现在集合是{1, 2, 3, 4, 5}
i_set = set1 & set2 # 交集, 现在集合是 {3}
d_set = set1 - set2 # 差集, 表示存在于集合1中,但不存在于集合2中的元素,{1, 2}
集合的常见使用方法
除了以上两种常见的操作,set
还提供了一些常见方法方便使用,主要包括的就是集合的增删和遍历操作。
- 添加元素:使用
add()
方法可以向集合中添加单个元素。 - 移除元素:使用
remove()
或者discard()
方法可以从集合中移除指定元素, 它们之间的区别在于当移除一个集合中不存在的元素时,remove()
会引起异常,而discard()
不会。 - 集合长度:使用
len()
函数可以获取集合的元素个数。 - 清空集合:使用
clear()
方法可以清空集合中的所有元素。 - 遍历集合:使用
for
循环可以遍历集合中的元素。
# 创建集合
set1 = {1, 2, 3}# 向集合添加元素
set1.add(4)# 遍历集合
for element in set1:print(element)# 移除集合元素
set1.remove(3)# 获取集合长度
print(len(set1))# 清空集合中的元素
set1.clear()
k = int(input())
for _ in range(k):m = int(input())nums = set(map(int, input().split())) # 读取集合中的元素,用空格分隔并转换为整数集合n = int(input())if n in nums:print("YES")else:print("NO")