卡码网语言基础课 | 17. 判断集合成员 | 刷题心得

2024-1-8,卡码网第17题判断集合成员


目录

1. 题目描述

2. 代码实现

2.1 背景知识

2.2 解题思路

3. 总结


1. 题目描述

这是关于哈希表的第二道题。题目给定一定数量的集合,集合内包含一定数量的数字。然后再给定一个数字,需要编写程序去判断这个数字是否在集合中。如果存在,输出 YES;不存在,则输出 NO。

2. 代码实现

题目本身并没有难度,主要是介绍了一种新的数据类型——集合(set)。集合(Set)是一种无序、可变的数据类型,用于存储不重复的元素。集合可以包含任意不可变的数据类型,如整数、浮点数、字符串、元组等,但不能包含可变的数据类型,例如列表、字典等

2.1 集合

既然要使用新的数据类型,那么就需要知道集合怎么创建和使用。

集合,可以使用大括号创建,元素之间用逗号隔开,也可以使用 set 函数

set1 = {1, 2, 3}
set2 = set(1, 2, 3)

在python中,集合也支持进行交集(&),并集(|),差集(-)的运算。

Uset = set1 | set2 #集合并集
Iset = set1 & set2 #集合交集
Dset = set1 - set2 #集合差集

还有一些基础的集合操作:

  • 添加元素:可以使用 add() 添加元素到指定集合。
  • 删除元素:可以使用 remove() 和 discard() 删除集合中指定元素。如果元素不存在,使用 remove 会报错,但使用 discard 不会
  • 清空集合: 可以使用 clear() 清空集合。
  • 遍历集合: 使用 for 循环遍历整个集合。
set1 = {1, 2, 3}

set1.add(4) #把4添加到集合中
set1.remove(2) #把2从集合中删除

for number in set1:
    print(number)
# 遍历集合并打印

set1.clear()

2.2 具体代码

只需要先读取输入数据,创建集合,然后读取需要判断的数字,使用 if 语句判断,如果该元素存在,则输出 YES,否则输出 NO。代码如下:

numbers = {1, 2, 3, 4, 9}
n = 3
if n in numbers:
    print('YES')
else:
    print('NO')

3. 总结

这是有关于哈希表的第二道题,介绍了全新的数据类型——集合,与列表不同,集合有自己的创建方式和使用方法。列表,即上一题(第16题出现频率最高的字母)有介绍,这里不再赘述。

第16题 出现频率最高的字母icon-default.png?t=N7T8http://t.csdnimg.cn/JiSiK


本人所用代码编辑器为 VS Code,刷题网站为卡码网


卡码网icon-default.png?t=N7T8https://kamacoder.com/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴风雨使我安睡2580

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值