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

python之集合相关

1.概况

是无序的数据结构

集合内的个体统称为元素,每个元素不可重复

所有元素被放在大括号里面,元素之间通过逗号分隔

集合对象是一组无序的可哈希的值,集合元素是不可变的数据类型

2.定义集合

使用大括号语法

基本语法:

        {元素1,元素2,元素3,元素4............元素n}

        传递重复的值会自动去重

a = {"a","b",3,4,5}
print(a)
使用set()函数

创建空集合的时候使用set()函数创建,不能使用大括号,{}是创建的字典

print(set(["a","c","f"]))
print(set({"a":4,"f":8}))
print(set([1,5,5,6,5,5]))
print(set())

3.删除集合

只是删除变量对集合的引用关系,如果还有其余的对他进行引用,仍然有效

a = {"a","v","d"}
print(a)
del a 
print(a)

4. 访问集合

使用in或者not in检测是否存在集合元素,但是不能直接访问集合元素

使用len()函数获取集合的长度(元素的个数)

使用for来迭代集合的元素

间接访问,把集合转换成元组或列表,通过下标访问

5.添加元素

1.使用add()方法
a = set(range(20))
print(a)
a.add(100)
print(a)

如果该元素已存在,则不做任何操作

a = set(range(20))
print(a)
a.add(10)
print(a)
2.使用update()方法
a = set(range(20))
print(a)
#添加一个字符串
a.update("python")
print(a)
#添加一个列表
a.update([111,222,333])
print(a)
#添加一个元组,必须要加一个逗号,不然被判断为字符串
a.update(("sign",))
print(a)
#添加一个集合
a.update({"ewioh"})
print(a)

6.删除元素

1.使用remove()  

可移除指定元素,没有返回值,如果元素不存在则抛出异常

a = set(range(20))
print(a)
a.remove(1)
print(a)

如果删除的元素不存在,则抛出异常

a = set(range(20))
print(a)
a.remove(100)
print(a)
2.使用discard()

可移除指定元素,用法与remove()相同,元素不存在不执行删除操作

a = set(range(20))
print(a)
a.discard(10)
print(a)
a.discard(100)
print(a)
3.使用clear()

清空集合元素

a = set(range(20))
print(a)
a.clear()
print(a)
4.使用pop()

随机删除集合元素,并返回删除的集合元素

a = set(range(20))
l = []
#由于集合的上度是在变化的,所以不能直接访问集合
for i in range(len(a)):#将删除的集合添加到列表中l.append(a.pop())
print(l)

7.检测元素

使用in或not  in

a = {1,2,3}
if "a" in  a:a.remove("a")
if "a" not in a:a.add("a")
print(a)

8.合并集合

set1.update(set2)
a = {1,2,3}
b = {("python")}
a.update(b)
print(a)

9.复制集合

set.copy()
a = {1,2,3}
b = a.copy()
print(b)

使用copy模块
import  copy
a = {1,2,3}
b = copy.copy(a)
print(b)

相关文章:

python之集合相关

1.概况 是无序的数据结构 集合内的个体统称为元素,每个元素不可重复 所有元素被放在大括号里面,元素之间通过逗号分隔 集合对象是一组无序的可哈希的值,集合元素是不可变的数据类型 2.定义集合 使用大括号语法 基本语法: {元素1&a…...

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十一)-无人机服务可用性用例需求

引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…...

【Linux 配置静态IP】Ubuntu20.04

最近学习网络编程,为了方便学习需要Ubuntu配置静态IP,网上看了好多贴子跟着试了下可以实现,但重启虚拟机后有时就无法连接,总之各种各样问题;相关的配置方法也比较凌乱,有用netplan 或者 ifupdown ,笔者简单…...

C++入门基础(2)

C入门基础(2) 1.缺省函数2.函数重载3.引用3.1 引用的概念和定义3.2 引用的特性3.3 引用的使用3.3.1引用的特性 4 .const引用5. 指针和引用的关系6.inline 1.缺省函数 • 缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值。在调用该函数时&#xf…...

芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略

♥️作者:小宋1021 🤵‍♂️个人主页:小宋1021主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油&#xff01…...

Java程序打印日志

一、maven依赖 POM文件中添加以下依赖&#xff0c;maven依赖的jar包版本可以在maven central repository 查看 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.34</version><…...

深入理解C++ 中的可调⽤对象

C中的可调⽤对象总结 普通函数类成员函数类静态成员函数与类成员函数的区别 仿函数简单示例高级用法-状态保持优缺点优点缺点 函数指针获取函数地址声明并调用函数指针 lambda表达式语法定义捕获单个捕获符 std::function()协程 可调用对象用处⼴泛&#xff1a; ⽐如在使⽤⼀些…...

汇编程序调用 C 程序详解

文章目录 1. ATPCS 规则 2. 汇编和C程序传递参数 汇编程序向 C 程序的函数传递参数 C 程序返回结果给汇编程序 代码示例 3. C 函数使用栈 4. C 语言中读写寄存器 在嵌入式开发中&#xff0c;经常需要在 C 程序和 ARM 汇编程序之间进行相互调用。为了保证这些调用的正确性…...

代码随想三刷图论篇1

代码随想三刷图论篇1 98. 所有可达路径题目代码99. 岛屿数量题目代码100. 岛屿的最大面积题目代码101. 孤岛的总面积题目代码102. 沉没孤岛题目代码103. 水流问题题目代码98. 所有可达路径 题目 链接 代码 import java.util.*;class Main{public static void main(String […...

Windows 快捷键汇总

Windows 快捷键汇总 前言进阶快捷键【最好用】Chrome 常用快捷键【跟 Windows 快捷键不搭杆&#xff0c;但常用】基础快捷键扩展快捷键 前言 Coder 苦鼠标久已&#xff0c;整理汇总 Windows 快捷键包括一些常用的快捷键&#xff0c;比如“浏览器”相关的快捷键内容分为四小节&…...

微服务有哪些组件?

1.注册中心&#xff1a;用于服务的注册和发现&#xff0c;管理微服务的地址 Nacos&#xff0c;Eureka 2.配置中心&#xff1a;集中管理微服务的配置中心 Nacos config 3.远程调用&#xff1a;用于不同微服务间的通信和协作 RESTful API&#xff08;RestTemplate&#xff0…...

camera-qsc-crosstalk校准数据XTALK回写

问题背景 手机越做越紧凑&#xff0c;需要模组和芯片尺寸越做越小&#xff0c;在尺寸一定的基础上&#xff0c;高像素和大像素&#xff0c;对于手机摄像头来说&#xff0c;一直是一对矛盾的存在。 高像素&#xff1a;带来高分辨率画质大像素&#xff1a;带来暗态下高感光度和…...

混合贪心算法求解地铁线路调度

一、问题描述 城市轨道交通的繁荣发展&#xff0c;带来了车辆资源需求的日益增加。如何兼顾运营服务水平和运营成本&#xff0c;以最少的车底优质地完成运输任务成为一大严峻问题。本题在后续的描述中将由多辆动车和拖车组合而成的车组称为车底。在日常的运营组织中&#xff0…...

vue项目:关闭页面,删除本地登录信息

vue项目&#xff1a;关闭页面&#xff0c;删除本地登录信息 代码 代码 import { removeToken } from /utils/auth //区分关闭和刷新页面&#xff0c;关闭时退出登录 window.onload ()>{if(!window.sessionStorage["tempFlag"]){removeToken();location.reload()…...

获奖案例回顾|基于卫星遥感和无人机的水稻全流程风险减量项目

引言 在现代农业保险领域&#xff0c;技术创新是推动行业进步的关键。珈和科技与太平财险的合作&#xff0c;旨在利用先进的卫星遥感和无人机技术&#xff0c;解决传统农业保险面临的诸多挑战&#xff0c;从而提升保险效率和服务质量。本次分享的项目案例获得了《金融电子化》…...

全栈 Discord 克隆:Next.js 13、React、Socket.io、Prisma、Tailwind、MySQL笔记(一)

前言 阅读本文你需要有 Next.js 基础 React 基础 Prisma 基础 tailwind 基础 MySql基础 准备工作 打开网站 https://ui.shadcn.com/docs 这不是一个组件库。它是可重用组件的集合&#xff0c;您可以将其复制并粘贴到应用中。 打开installation 选择Next.js 也就是此页面…...

【Unity】制作简易计时器

一、创建计时器相关的变量 我们需要创建三个变量&#xff0c;分别是&#xff1a;计时时长、计时剩余时长、是否处于计时状态。 public float duration;//计时时长 public float remain; //计时剩余时长 public bool isCount; //是否处于计时状态 二、初始化变量 我们可以直…...

TDesign组件库日常应用的一些注意事项

【前言】Element&#xff08;饿了么开源组件库&#xff09;在国内使用的普及率和覆盖率高于TDesign-vue&#xff08;腾讯开源组件库&#xff09;&#xff0c;这也导致日常开发遇到组件使用上的疑惑时&#xff0c;网上几乎搜索不到其文章解决方案&#xff0c;只能深挖官方文档或…...

51单片机7(点亮第一个LED)

一、LED简介 1、LED&#xff0c;它是一个发光二极管&#xff0c;它具有单向导电性&#xff0c;那么通过5毫安的一个电流&#xff0c;就可以使它发光&#xff0c;那么电流越大&#xff0c;它的发光也就越强&#xff0c;但是电流不能过大&#xff0c;过大会把这个发光二极管给烧…...

基于Vue和UCharts的前端组件化开发:实现高效、可维护的词云图与进度条组件

基于Vue和UCharts的前端组件化开发&#xff1a;实现高效、可维护的词云图与进度条组件 摘要 随着前端技术的迅速发展和业务场景的日益复杂&#xff0c;传统的整块应用开发方式已无法满足现代开发的需求。组件化开发作为一种有效的解决方案&#xff0c;能够将系统拆分为独立、…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一&#xff1a;HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二&#xff1a;Floyd 快慢指针法&#xff08;…...