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

python中的集合

目录

初识集合

集合的含义

集合的作用

集合的使用场景

集合的定义

集合的常用操作

元素的增加

函数add()

元素的删除

函数remove()

函数clear()

函数pop()

集合的遍历

for循环

while循环


初识集合

集合的含义

在pyrhon中,集合是一种内置的数据结构,用于存储无序、唯一的元素。

无序:在集合中的元素没有固定顺序。

唯一:集合中的元素不重复。

集合的作用

去重从列表中移除重复的元素
查找效率高

判断指定元素是否存在

集合运算交集、并集等操作
关系判断判断集合包含关系

集合的使用场景

列表去重、判断元素是否存在、集合运算、判断子集及超集。

集合的定义

由{}包裹的元素组成的序列,且元素可以是不同的数据类型。

语法结构:

集合名 = {元素1,元素2,元素3,......}

#以下都是集合
my_set = {'ele1','ele2','ele3'}
my_set2 = {1,2,3}
my_set3 = {True,True,False}
my_set4 = {'ele1',4,False}

集合的常用操作

清晨,阳光洒落在村庄的青石小路上,你,小小勇者,背起剑与行囊,准备出发完成今日的冒险任务——收集魔晶碎片。据说魔晶碎片分布在森林、湖边和山洞之中,只有集齐五种不同的碎片,才能解锁古代祭坛的大门。

元素的增加

函数add()

功能:向集合中添加一个新元素,如果元素已存在,则不会重复添加,不能添加列表、字典。

语法结构:集合.add(元素)

第一站:森林深处——收集开始

森林中迷雾缭绕,勇者击败了几只树灵,捡到了两枚发着绿光的碎片---翠绿魔晶。你兴奋地拿出背包里的碎片收集袋,却发现无论再怎么捡“翠绿魔晶”,袋子里也只有一块,可能是其中一块魔晶将另一块吸收了;接着,你又从一棵大树下的藤蔓中发现了另一块“幽紫魔晶”:

bag = set() #集合内的元素不重复
bag.add("翠绿魔晶")
bag.add("翠绿魔晶")  # 重复添加也不会重复存在
bag.add("幽紫魔晶")
print(bag)

对代码进行运行测试:

元素的删除

函数remove()

功能:删除集合中的指定元素,若元素不存在,会报错KeyError。

语法结构:集合.remove(元素)

第二站:湖边陷阱——移除错误碎片

湖边,你见一块晶石泛着蓝光,以为是“冰蓝魔晶”,便将其收集起来,但刚准备离开,巡湖的老猎人提醒你:“那不是魔晶,是鱼人的水晶诱饵,带着它会吸引危险。”你连忙取出袋子,小心翼翼地将其移除:

bag = {'幽紫魔晶', '翠绿魔晶'}
bag.add("湖边碎片")
print(f"捡起后背包内的魔晶碎片有{bag}")
bag.remove("湖边碎片")
print(f"扔掉后背包内的魔晶碎片有{bag}")

对代码进行运行测试:

函数clear()

功能:移除集合中所有元素,使集合变为空集合。

语法结构:集合.clear()

第三站:山洞探险——清空重来

你继续前往山洞,却在一场地震中摔了跤,袋子掉进泥水中。碎片沾满污泥、失去了能量。

你叹了口气,只能清空收集袋,准备重新收集。“这次我得更小心了。”你拍拍身上的泥,继续前行。

bag = {'幽紫魔晶', '翠绿魔晶'}
bag.clear()
print(f"摔跤后你手中的魔晶碎片还剩:{bag}")

对代码进行运行测试:

函数pop()

功能:由于集合是无序的,pop()函数会随机删除并返回集合中的某个元素,若集合为空,会报错KeyError。

语法结构:集合.pop()

第四站:魔晶之心——火焰魔晶的试炼

在经历了数次挑战之后,你终于集齐了四块较为常见的魔晶碎片:翠绿魔晶、幽紫魔晶、风之魔晶和光明魔晶。剩下的唯一缺少的碎片便是火焰魔晶,隐藏在烈焰之岛的火焰试炼中。在烈焰岛上,你必须通过重重火焰挑战才能接近魔晶。最后,你面对火焰漩涡中的火焰魔晶,火焰之神告诉他:要想获得火焰魔晶,就必须放弃一块已有的魔晶。你毫不犹豫地选择献祭自己最珍贵的一块魔晶:

bag = {"翠绿魔晶","幽紫魔晶","风之魔晶","光明魔晶"}
print(f'被你献祭的魔晶碎片是:{bag.pop()}')

对代码进行运行测试:

集合的遍历

for循环

第五站:地穴迷宫——整理收集情况

你在地穴中一路奋战,终于又重新收集到了五种魔晶碎片。你点燃火把,开始一个个检查,边走边数,确认每一块魔晶的种类和颜色,以免遗漏。

bag = {"翠绿魔晶","幽紫魔晶","光明魔晶","火焰魔晶","风之魔晶"}
for mojing in bag:print(f"收集到:{mojing}")

对代码进行运行测试:

while循环

第五站:古代祭坛——等待封印解除

最后,你抵达神秘的古代祭坛,将碎片一一放入祭坛的五个凹槽,但祭坛没有立刻反应。你决定重新检查一下每个碎片的位置,确保没有错漏,于是开始逐个核对:

bag = {"翠绿魔晶","幽紫魔晶","光明魔晶","火焰魔晶","风之魔晶"}
bag_list = list(bag)
index = 0
while index < len(bag_list):print(f"第{index + 1}块碎片是:{bag_list[index]}")index += 1

对代码进行运行测试:

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

相关文章:

  • uniapp vue3中使用pinia 和 pinia持久化(没有使用ts)
  • PPT漏斗图,让数据更美观!
  • 线程池创建线程
  • Mac 电脑安装 ADB 环境完整指南
  • 流程图使用规范
  • Git Status 命令深度指南:洞悉仓库状态的核心艺术
  • 专题二_滑动窗口_长度最小的子数组
  • 进程Linux
  • 打靶日记-PHPinclude-labs(一)
  • 攻防世界WEB(新手模式)2-2-upload1
  • MySQL中的DDL(一)
  • 深入理解动态规划算法
  • 数字孪生系统让汽车工厂虚实联动预测维护少停机
  • LabVIEW注册表操作
  • 图像认知与OpenCV——图像预处理4
  • python opencv 调用 海康威视工业相机(又全又细又简洁)
  • Java开发时出现的问题---架构与工程实践缺陷
  • KUKA库卡焊接机器人氩气节气设备
  • Nuclei漏洞扫描工具(除了常见漏洞还支持CMS常见漏洞Gitlab、Jira、Splunk、Elastic)
  • 解决Git提交人信息默认全局化问题:让提交人自动关联当前用户
  • sklearn study notes[3]
  • Kong vs. NGINX:从反向代理到云原生网关的全景对比
  • 从零开始学习:深度学习(基础入门版)(1天)
  • [激光原理与应用-168]:测量仪器 - 对光学指标进行测量的仪器
  • 从“数字网格”到“空中交警” :星图低空云如何重构低空管理?
  • 嵌入式第二十二课!!!链式队列与哈希表
  • Maven分模块开发实战指南
  • Qt 子类重新实现父类的槽函数
  • 「iOS」————持久化
  • 【0基础3ds Max】菜单栏介绍