【Python】集合 set ② ( 集合常用操作 | 集合中添加元素 | 集合中移除元素 | 集合中随机取出元素 )

news2025/2/12 9:06:59

文章目录

  • 一、集合中添加元素
  • 二、集合中移除元素
  • 三、集合中随机取出元素


在 Python 中 , 集合 set 是无序的 , 因此 集合 数据容器 不支持 使用 下标索引 访问 集合元素 ;





一、集合中添加元素



调用 集合#add(新元素) 函数 , 可以将新元素添加到 集合 数据容器中 ;

集合添加元素代码示例 : 原集合中有两个 Tom 字符串 , 只保留后面的 Tom 字符串 ; 添加元素时 , 添加 Trump 元素 , 原集合中没有该元素 , 添加成功 ; 有添加 Tom 元素 , 此时原集合中存在该元素 , 本次添加 Tom 元素失败 ;

"""
集合 代码示例
"""

# 集合添加新元素
names = {"Tom", "Jerry", "Jack", "Tom"}
# 上述集合中有两个 Tom 字符串, 由于 集合 不能重复, 第一个 Tom 字符串被删除
print(f"names = {names}, type = {type(names)}")
# 输出: names = {'Jack', 'Jerry', 'Tom'}, type = <class 'set'>

names.add("Trump")
names.add("Tom") # 如果添加相同的元素 则无法插入成功 
print(f"names = {names}, type = {type(names)}")
# 输出: names = {'Jerry', 'Tom', 'Jack', 'Trump'}, type = <class 'set'>

执行结果 :

names = {'Jerry', 'Tom', 'Jack'}, type = <class 'set'>
names = {'Jerry', 'Tom', 'Jack', 'Trump'}, type = <class 'set'>

在这里插入图片描述





二、集合中移除元素



调用 集合#remove(已有元素) 函数 , 可以将原来的元素从 集合 数据容器 中移除 ;


移除 集合 数据容器中的 元素时 , 先确定 集合 中存在该元素 , 如果移除不存在的元素 , 会报如下异常 :

names = {'Tom', 'Jerry', 'Jack'}, type = <class 'set'>
Traceback (most recent call last):
  File "Y:\002_WorkSpace\PycharmProjects\HelloPython\hello.py", line 12, in <module>
    names.remove("Bob") # 如果集合中没有该元素, 移除失败
KeyError: 'Bob'

在这里插入图片描述

集合移除元素代码示例 :

"""
集合 代码示例
"""

# 集合添加新元素
names = {"Tom", "Jerry", "Jack", "Tom"}
# 上述集合中有两个 Tom 字符串, 由于 集合 不能重复, 第一个 Tom 字符串被删除
print(f"names = {names}, type = {type(names)}")
# 输出: names = {'Jack', 'Jerry', 'Tom'}, type = <class 'set'>

names.remove("Tom")
# names.remove("Bob") # 如果集合中没有该元素, 移除失败
print(f"names = {names}, type = {type(names)}")
# 输出: names = {'Jerry', 'Jack'}, type = <class 'set'>

执行结果 :

names = {'Tom', 'Jerry', 'Jack'}, type = <class 'set'>
names = {'Jerry', 'Jack'}, type = <class 'set'>

在这里插入图片描述





三、集合中随机取出元素



调用 集合#pop() 函数 , 可以 从 集合 数据容器 中 随机取出一个元素 ;

集合中不支持使用 下标索引 访问元素 , 因此只能随机取出一个元素 ;


代码示例 : 使用 name 变量接收取出的元素 ;

"""
集合 代码示例
"""

# 集合添加新元素
names = {"Tom", "Jerry", "Jack", "Tom"}
# 上述集合中有两个 Tom 字符串, 由于 集合 不能重复, 第一个 Tom 字符串被删除
print(f"names = {names}, type = {type(names)}")
# 输出: names = {'Jack', 'Jerry', 'Tom'}, type = <class 'set'>

name = names.pop()
print(f"name = {name}, type = {type(name)}")
# 输出: name = Jerry, type = <class 'str'>

执行结果 :

names = {'Jerry', 'Jack', 'Tom'}, type = <class 'set'>
name = Jerry, type = <class 'str'>

在这里插入图片描述

每次执行 , 都有可能随机取出一个元素 ;
在这里插入图片描述
三个元素都有可能随机取出来 ;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/639933.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue- ref属性

ref属性 被用来给元素或者子组件注册引用信息&#xff08;id的替代者&#xff09; 通过案例来演示_ref属性 1 编写案例 如图&#xff1a;有一个按钮&#xff0c;点击按钮可以输出dom元素 备注&#xff1a;虽然vue不用我们亲自操作dom&#xff0c;但是有的特殊的情况下就要…

【2023华中杯】B题 小学教学应用题 相似性度量及难度评估 29页论文及MATLAB代码

1 题目 B 题 小学数学应用题相似性度量及难度评估 某 MOOC 在线教育平台希望能够进行个性化教学&#xff0c;实现用户自主学习。在用户学习时&#xff0c;系统从题库中随机抽取若干道与例题同步的随堂测试题&#xff0c;记录、分析学生的学习和答题信息&#xff0c;并且课后会自…

【Pytest实战】解决ModuleNotFoundError: No module named ‘pytest’问题

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。&#x1f60a; 座右铭&#xff1a;不想…

JAVA程序的性能优化实践总结

1、 衡量程序性能的指标 可以从常用的性能评估指标入手&#xff1a; 并发&#xff1a;同一时间有多少请求访问TPS&#xff1a;transaction per second(每秒的事物数)QPS&#xff1a;query per second(每秒请求数)耗时&#xff1a;端到端耗时&#xff0c;服务端耗时&#xff…

并行计算——MPI编程

目录 基础知识 进程与线程&#xff0c;并行与并发 奇偶排序 MPI实现 odd-even sort 思路 环境部署 编程实现&#xff08;C&#xff09; “若干”的问题 参考链接 一个偶然的机会&#xff0c;我接触到了国立清华大学的MPI编程作业&#xff0c;也就接触到了并行计算。这…

基于Python3接口自动化测试初探

自动化测试是什么&#xff1f; 自动化测试简单来说就是借助工具的方式来辅助手动测试的行为就可以看做是自动化测试。 自动化测试工具有哪些&#xff1f; 现在常用的自动化测试工具包括&#xff1a; QTP&#xff1a;主要用于回归测试和测试同一软件的新版本 Robot Framewor…

大数据ETL工具Kettle

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言最近公司在搞大数据数字化&#xff0c;有MES,CIM,WorkFlow等等N多的系统&#xff0c;不同的数据源DB&#xff0c;需要将这些不同的数据源DB里的数据进行整治统一…

【算法】模拟,高精度

高精度加法 P1601 AB Problem&#xff08;高精&#xff09; - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路就是模拟&#xff0c;值得注意的就是要用字符串类型输入。存进自己的int数组时要倒着存&#xff0c;因为如果是正着存的话&#xff0c;进位会有点trouble。 时间…

Spread.NET v16.0.20222.0 ASP.NET cRACK

关于 Spread.NET 提供类似 Excel 的电子表格体验。 Spread.NET 可帮助您创建电子表格、网格、仪表板和表单。它包括一个强大的计算引擎&#xff0c;具有450 函数以及导入和导出Excel电子表格的能力。利用广泛的 .NET 电子表格 API 和强大的计算引擎来创建分析、预算、仪表板、…

【C++ 基础篇:24】:【重要模板】C++ 输入输出运算符重载【以 Date 日期类为例】

系列文章说明 本系列 C 相关文章 仅为笔者学习笔记记录&#xff0c;用自己的理解记录学习&#xff01;C 学习系列将分为三个阶段&#xff1a;基础篇、STL 篇、高阶数据结构与算法篇&#xff0c;相关重点内容如下&#xff1a; 基础篇&#xff1a;类与对象&#xff08;涉及C的三大…

Mysql Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)异常处理

目录 一、异常错误二、原因三、解决方法 一、异常错误 PS C:\Users\10568> mysql -u root -p Enter password: **** ERROR 1045 (28000): Access denied for user rootlocalhost (using password: YES)Access denied表示拒绝访问&#xff0c;using password&#xff1a;NO/…

计算机视觉 | 语义分割与Segmentation

前 言 「MMSegmentation」 是一个基于 PyTorch 的语义分割开源工具箱。它是 OpenMMLab 项目的一部分。 MMSegmentation v1.x 在 0.x 版本的基础上有了显著的提升&#xff0c;提供了更加灵活和功能丰富的体验。 主要特性 统一的基准平台 我们将各种各样的语义分割算法集成到了…

Linux权限维持

SSH后门&VIM后门 ssh后门&#xff1a; 创建一个软链接&#xff1a; ln -sf /usr/sbin/sshd /tmp/su 拓展&#xff1a;软链接相当于一个快捷键&#xff0c;硬链接相当于一个指针指向文件地址&#xff0c;也类似于复制 开启后门&#xff1a; /tmp/su -oport12345 开启后…

chatgpt赋能python:Python另存为:如何保存你的程序代码

Python另存为&#xff1a;如何保存你的程序代码 简介 Python是一种高级编程语言&#xff0c;最初由Guido van Rossum于1991年创建。自创建以来&#xff0c;Python已被广泛应用于Web开发、数据分析、人工智能等领域。作为一名有10年Python编程经验的工程师&#xff0c;我发现在…

万物的算法日记|第一天

笔者自述&#xff1a; 一直有一个声音也一直能听到身边的大佬经常说&#xff0c;要把算法学习搞好&#xff0c;一定要重视平时的算法学习&#xff0c;虽然每天也在学算法&#xff0c;但是感觉自己一直在假装努力表面功夫骗了自己&#xff0c;没有规划好自己的算法学习和总结&am…

内部服务器端口映射实验:打通内外网络,实现公网访问内部服务

内部服务器端口映射实验&#xff1a;打通内外网络&#xff0c;实现公网访问内部服务 【实验目的】 部署服务器地址转换。熟悉服务器地址转换的应用方法。验证配置。 【实验拓扑】 实验拓扑如图所示。 实验拓扑 设备参数如表所示。 设备参数表 设备 接口 IP地址 子网掩…

BOM,什么是BOM?

4.BOM 4.1 什么是BOM? BOM&#xff08;Browser Object Model&#xff09;即浏览器对象模型&#xff0c;它提供了独立于内容而与浏览器窗口进行交互的对象&#xff0c;其核心对象是 window。 ​ BOM 由一系列相关的对象构成&#xff0c;并且每个对象都提供了很多方法与属性。 …

react---todoList案例

todoList案例效果图 1.组件拆分 2.操作state数据 state 放在哪个组件&#xff1a; 如果某个组件组件使用: 放在其自身的state中。如果某些组件使用&#xff1a;放在他们共同的父组件state中&#xff08;官方称此操作为状态提升&#xff09; 状态&#xff08;state&#xff09;在…

Cocos creator实现飞机大战空中大战《战击长空》小游戏资源及代码

Cocos creator实现飞机大战空中大战《战击长空》小游戏资源及代码 最近在学习Cocos Creator&#xff0c;作为新手&#xff0c;刚刚开始学习Cocos Creator&#xff0c;刚刚入门&#xff0c;这里记录一下飞机大战小游戏实现。 https://wxaurl.cn/VEgRy2eTMyi 一 安装CocosDashBo…

Netty实战(十四)

WebSocket协议&#xff08;二&#xff09; 一、初始化 ChannelPipeline二、引导三、加密 一、初始化 ChannelPipeline 我们之前说过为了将 ChannelHandler 安装到 ChannelPipeline 中&#xff0c;需要扩展了ChannelInitializer&#xff0c;并实现 initChannel()方法。 下面我…