【代码随想录python笔记整理】第十七课 · 判断集合成员

前言:本笔记仅仅只是对内容的整理和自行消化,并不是完整内容,如有侵权,联系立删。

一、集合

       在之前提到,哈希表主要是用来判断给定的整数是否存在于给定的数据中。而在上一节中我们使用了数组,通过索引来实现哈希表的功能。这一节我们主要学习集合的相关操作。

       集合 set 也是一种数据结构,和数学中的集合类似,它用于存储一组不重复的元素,并且不保证集合中元素的顺序。在 Python 中,可以使用 { } 来创建集合,元素与元素之间使用逗号分隔。或者也可以使用 set ( ) 函数创建集合,或者是列表转为集合。

# 创建集合
my_set = {1,2,3}
# 使用 set() 创建空集合
my_set2 = set()
# 列表转集合
my_set3 = set([1,2,3])

       在集合的操作中,最常见的是判断某个元素是否在集合中和去除列表中的重复元素。判断某个元素是否在集合中,我们可以采用关键字 in 。而去除重复元素,我们可以先将列表转换为集合,再将集合转换为列表,中间过程去除了重复元素。

set_1 = {1,2,3}
# 判断元素是否在集合中
if 1 in set_1:
    print("True!")

# 去除重复元素
list_1 = [1,1,2,3,4,4,5,5,6]
set_2 = set(list_1)  # 将列表转换为集合
list_2 = list(set_2) # 将集合转换为列表

       类似于数学中的操作,集合还支持求并集、交集、差集。

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}

二、集合中的常用方法

       在集合中,我们还有一些常用的方法,下面我们一个一个解释。我们以集合 {1,2,3} 为初始集合,依次来看一下进行相应操作后的输出结果。

1、添加元素:使用 add ( ) 方法来在集合中添加元素。

2、移除元素:使用 remove ( ) 或者 discard ( ) 方法可以从集合中移除指定元素。它们的不同之处在于,如果需要移除的元素实际上不存在在集合中时,remove ( ) 会引起异常,而 discard ( ) 不会。

3、集合清空:使用 clear ( ) 方法可以清空集合中的所有元素。

4、集合长度:使用 len ( ) 方法来获取集合中元素的个数。

三、利用所学解决问题

       由于这道题目真的相当简单,这里也就不再赘述解题思路了。毕竟这里其实并没有深入地涉及到哈希表的用法。完整代码如下:

k = int(input())  # 读取测试用例的数量

for _ in range(k):
    m = int(input())  # 读取集合中元素的数量
    elements = set(map(int, input().split()))  # 读取集合中的元素,用空格分隔并转换为整数集合
    n = int(input())  # 读取需要判断的目标整数

    if n in elements:
        print("YES")
    else:
        print("NO")
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值