当前位置: 首页 > news >正文

集合练习题

集合的并集、交集、差集

题目描述

给定两个集合 A={1,2,3,4,5} 和 B={4,5,6,7,8},请编写 Python 程序计算并输出它们的并集、交集和差集(A-B 和 B-A)。

输出示例

并集: {1, 2, 3, 4, 5, 6, 7, 8}

交集: {4, 5}

A-B: {1, 2, 3}

B-A: {6, 7, 8}

实现代码

# 定义集合A和B
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}# 计算并集(A和B中所有元素的集合,无重复)
union_set = A | B  # 等价于A.union(B)# 计算交集(A和B中共同拥有的元素)
intersection_set = A & B  # 等价于A.intersection(B)# 计算差集A-B(属于A但不属于B的元素)
diff_A_minus_B = A - B  # 等价于A.difference(B)# 计算差集B-A(属于B但不属于A的元素)
diff_B_minus_A = B - A  # 等价于B.difference(A)# 输出结果
print(f"并集: {union_set}")
print(f"交集: {intersection_set}")
print(f"A-B: {diff_A_minus_B}")
print(f"B-A: {diff_B_minus_A}")

列表转集合去重

题目描述

将列表[9, 5, 9, 3, 5, 7, 3]转换为集合以去除重复元素,打印去重后的结果。

输出示例

{3, 5, 7, 9}

实现代码

# 含重复元素的列表
num_list = [9, 5, 9, 3, 5, 7, 3]
# 转换为集合去重
unique_nums = set(num_list)
# 打印结果
print(unique_nums)

用户行为分析

题目描述

APP 运营需分析用户行为:打开过 APP 的用户中,有多少人既没点赞也没评论。

要求:已知

  • 所有打开 APP 的用户all_users = {"u1", "u2", "u3", "u4", "u5"}

  • 点赞用户like = {"u1", "u2", "u3"}

  • 评论用户comment = {"u2", "u3", "u4"}计算并打印 “仅打开 APP,未点赞且未评论” 的用户。

输出示例

仅打开APP,未点赞且未评论的用户:{'u5'}

实现代码

# 定义用户行为集合
all_users = {"u1", "u2", "u3", "u4", "u5"}
like = {"u1", "u2", "u3"}
comment = {"u2", "u3", "u4"}# 计算“点赞或评论”的用户(并集)
active_users = like | comment# 计算“仅打开未互动”的用户(差集)
inactive_users = all_users - active_users# 打印结果
print(f"仅打开APP,未点赞且未评论的用户:{inactive_users}")

vip用户验证

题目描述

验证一批用户 ID 中哪些是 VIP 用户,VIP 列表需去重以提高验证效率。

  • 待验证用户 ID 列表:user_ids = [101, 102, 103, 101, 104]

  • VIP 用户 ID 列表(含重复):vip_raw = [102, 101, 102, 105]

  • 将 VIP 列表去重后,遍历待验证列表,打印每个 ID 是否为 VIP(去重后判断)。

输出示例

101:是VIP

102:是VIP

103:不是VIP

101:是VIP

104:不是VIP

实现代码

# 待验证用户列表
user_ids = [101, 102, 103, 101, 104]# VIP列表去重
vip_raw = [102, 101, 102, 105]
vip_set = set(vip_raw)# 遍历验证
for uid in user_ids:if uid in vip_set:print(f"{uid}:是VIP")else:print(f"{uid}:不是VIP")

抽奖系统

题目描述

模拟抽奖箱,从参与者中随机抽取奖项,抽完后清空奖池。

  1. 初始化抽奖箱集合为{"张三", "李四", "王五", "赵六"}
  2. 依次随机抽取 2 名幸运者(用 pop),分别输出 “一等奖” 和 “二等奖”
  3. 清空抽奖箱,输出剩余参与者(应为空)

输出示例

初始抽奖箱: {'张三', '李四', '王五', '赵六'}

一等奖: 李四

剩余参与者: {'张三', '王五', '赵六'}

二等奖: 赵六

剩余参与者: {'张三', '王五'}

清空抽奖箱后: set()

实现代码

# 初始化抽奖箱
lottery = {"张三", "李四", "王五", "赵六"}
print(f"初始抽奖箱: {lottery}")# 抽取一等奖
first = lottery.pop()
print(f"一等奖: {first}")
print(f"剩余参与者: {lottery}")# 抽取二等奖
second = lottery.pop()
print(f"二等奖: {second}")
print(f"剩余参与者: {lottery}")# 清空抽奖箱
lottery.clear()
print(f"清空抽奖箱后: {lottery}")

单词操作

题目描述

处理英文文本时,对单词进行去重、删除无效词、随机提取单词。

  1. 初始化单词集合为{"apple", "banana", "cat", "dog", "apple"}(自动去重)

  2. 添加单词 “egg”,删除无效词 “cat”,尝试删除不存在的 “fish”

  3. 随机提取 1 个单词作为 “今日单词”,输出剩余单词

输出示例

初始去重后单词: {'apple', 'banana', 'cat', 'dog'}
添加egg后: {'apple', 'banana', 'cat', 'dog', 'egg'}
删除cat并尝试删除fish后: {'apple', 'banana', 'dog', 'egg'}
今日单词: banana
剩余单词: {'apple', 'dog', 'egg'}

实现代码

# 初始化单词集合(自动去重)
words = {"apple", "banana", "cat", "dog", "apple"}
print(f"初始去重后单词: {words}")# 添加新单词
words.add("egg")
print(f"添加egg后: {words}")# 删除指定单词和无效词
words.remove("cat")
words.discard("fish")  # 无fish,不报错
print(f"删除cat并尝试删除fish后: {words}")# 随机提取今日单词
today_word = words.pop()
print(f"今日单词: {today_word}")
print(f"剩余单词: {words}")

http://www.dtcms.com/a/547063.html

相关文章:

  • 设计好看的美食网站有哪些汕头seo代理
  • 建设电商网站需要多少钱深圳企业网站托管
  • 朝阳网站建设怎么样江阴网站建设推广
  • 网页制作素材网站推荐金融公司网站建设
  • 成都网站建设好多科技成都比较好的室内设计公司有哪些
  • 5G网站建设要多少个网页小游戏在线玩4399
  • LeetCode:384. 打乱数组
  • 做外贸接私单的网站镇江建站推广报价
  • 安徽网站seo高端网站建设推来客网络
  • 建设网站要多少钱曲阜网站建设公司
  • 网站页面优化方法美食网站开发详细设计
  • 网站做动态还是静态永兴房产网站
  • 抄袭网站模板个人网站建设如何赚钱
  • 深圳网站制作的公司嘉兴网站建设需要提供哪些资料
  • 企业门户网站建设管理制度制作网站微信登陆入口
  • 成都平台网站开发公司电商如何从零做起
  • 石家庄网站seo优化安阳区号
  • 微信怎么建设网站软件开发工程师绩效考核指标
  • 网络书城网站开发 需求分析部标平台软件网站开发
  • flask网站开发视频下载应用商店app下载安装
  • 珠宝类网站建设青海免费网站建设
  • 建设银行益阳市分行桃江支行网站软件技术主要学什么课程
  • 免费网站程序下载怎么做神马搜索排名seo
  • 怎样做免费网站推广搜狗网站排名软件
  • 必应搜索引擎网站爱站工具包的模块有哪些
  • 网站建设哪个公司做得好咸阳市建设局网站
  • OpenHarmony数据管理核心技术:UTD、UDS与UDMF深度剖析
  • 什么是网站开发网站开发面向对象
  • 如何开发电子商务网站滨州网站建设hskj360
  • 对象存储技术解析:选型对比、架构设计与动态切换实战