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

Python知识点9---推导式

提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。

Python提供的推导式,只对列表、字典、集合三种数据类型生效,其他的类型没有推导式一说,且推导式的目的其实是简化代码,所以它无法完成逆天的操作

第一种:列表推导式

它的作用是用一个表达式去创建或者控制一个有规律的列表,注意有规律的

目标:创建一个元素为0-10的列表a = [ i+1 for i in range(10)]
print(a)
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

列表推导式其实说的就是一个简化的for循环而已,而且列表推导式可以加 if 条件判断

a = [ i for i in range(10) if i % 2 == 0]
print(a)
结果:[0, 2, 4, 6, 8]

同时它可以多个for一起写

a = [ i+j for i in range(10) for j in range(3)]
print(a)
结果:[0, 1, 2, 1, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 6, 5, 6, 7, 6, 7, 8, 7, 8, 9, 8, 9, 10, 9, 10, 11]

列表推导式,就只有上面这三种模式,太复杂的大家还是直接写 for 循环吧

第二种:字典推导式

字典推导式的作用是合并列表为字典或者提取字典中的数据

目标:创建一个key是0-5,value是key的平方的字典a = { i : i**2 for i in range(5) }
print(a)
结果:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

同样合并列表,我们可以这样写

a = ["name"]
b = ["Tom"]
c = { a[i] : b[i] for i in range(len(a))}
print(c)
结果:{'name': 'Tom'}

第三种:集合推导式

a = { i for i in range(5)}
print(a)
结果:set([0, 1, 2, 3, 4])

有了上面两,我相信大家都已经知道推导式是干什么的了,它其实复杂操作也做不了,但是它可以帮你完成一些如创建、遍历、修改等有规律的便捷操作

相关文章:

Python知识点9---推导式

提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。 Python提供的推导式,只对列表、字典、集合三种数据类型生…...

用C++做一个跑酷游戏

要用C创建一个跑酷游戏是一个相对复杂的任务,因为它涉及到图形渲染、用户输入处理、物理模拟等多个方面。由于C本身并不直接支持图形渲染,我们通常需要使用一个图形库来帮助我们实现这一点。 一个常用的选择是使用SFML(Simple and Fast Mult…...

基于字典树可视化 COCA20000 词汇

COCA20000 是美国当代语料库中最常见的 20000 个词汇,不过实际上有一些重复,去重之后大概是 17600 个,这些单词是很有用,如果能掌握这些单词,相信会对英语的能力有一个较大的提升。我很早就下载了这些单词,…...

TypeScript 中的命名空间

1. 命名空间的概念 命名空间是 TypeScript 提供的一种组织代码的方式,它类似于其他编程语言中的模块化系统,但有一些不同之处。命名空间可以包含变量、函数、类等,并且可以嵌套使用,从而更好地组织和管理代码。 2. 定义命名空间…...

[C++] 小游戏 斗破苍穹 2.2.1至2.11.5全部版本(上) zty出品

大家好,今天zty整合了斗破苍穹2.2.1到2.11.5的所有版本 我这么辛苦,就要50个赞吧 2.2.1 #include<stdio.h> #include<ctime> #include<time.h> //suiji #include<windows.h> //SLEEP函数 struct Player //玩家结构体,并初始化player { char name[…...

单元测试的心法分享

大家好&#xff0c;我是G探险者&#xff01; 今天我们简单聊聊单元测试的哪些事儿~ 两天时间我玩明白了单元测试的套路。 这里我分享一下思路。 在我眼里单元测试室什么&#xff1f; 请看这张草图&#xff1a; 单元测试主要关注单个代码单元&#xff08;通常是类或方法&am…...

【python】多线程(3)queue队列之不同延时时长的参数调用问题

链接1&#xff1a;【python】多线程&#xff08;笔记&#xff09;&#xff08;1&#xff09; 链接2&#xff1a;【python】多线程&#xff08;笔记&#xff09;&#xff08;2&#xff09;Queue队列 0.问题描述 两个线程&#xff0c;但是不同延时时长&#xff0c;导致数据输出…...

Java开发常见基础问题

Java开发的多个方面&#xff0c;包括但不限于Java基础知识、多线程并发、JVM、框架使用、数据库、设计模式、网络编程等。 以下是一些常见的问题以及回答的方向&#xff1a; Java 开发技术常见问题&#xff08;一&#xff09; Java 基础知识 对象和类的区别是什么&#xff1…...

大数据组件doc

1.flink Apache Flink Documentation | Apache Flink 2.kafka Apache Kafka 3.hbase Apache HBase ™ Reference Guide 4.zookeeper ZooKeeper: Because Coordinating Distributed Systems is a Zoo 5.spark Overview - Spark 3.5.1 Documentation 6.idea组件&#xff08;…...

Docker Hub 国内镜像源配置

Docker Hub 国内镜像源配置 Docker Hub 国内镜像源是指在国内境内提供 Docker 镜像服务的镜像源。由于国际网络带宽等问题&#xff0c;国内用户下载 Docker 镜像通常速度较慢。因此&#xff0c;为了解决这个问题&#xff0c;一些国内的公司和组织提供了 Docker 镜像的国内镜像…...

持续总结中!2024年面试必问 20 道 Kafka面试题(一)

一、Kafka 的基础概念有哪些&#xff1f; Kafka 是一个分布式流处理平台&#xff0c;由 LinkedIn 开发&#xff0c;并于 2011 年成为 Apache 软件基金会的一部分。以下是 Kafka 的一些基础概念&#xff1a; Broker: Kafka 集群由多个 Broker 组成&#xff0c;每个 Broker 存储…...

Linux共享内存创建和删除

最近项目中使用到了共享内存记录下 创建共享内存: 删除共享内存: 代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <sys/mman.h> #include <sys/stat.h> #include <u…...

微信小程序如何自定义tabbar

微信小程序自定义底部tabbar是一个提升用户体验和增加小程序个性化的重要功能。以下是自定义底部tabbar的步骤&#xff0c;以供参考&#xff1a; 一、自定义tabbar的重要性 微信小程序默认的底部导航栏&#xff08;tabbar&#xff09;样式和布局是固定的&#xff0c;开发者无…...

【并发程序设计】15.信号灯(信号量)

15.信号灯(信号量) Linux中的信号灯即信号量是一种用于进程间同步或互斥的机制&#xff0c;它主要用于控制对共享资源的访问。 在Linux系统中&#xff0c;信号灯作为一种进程间通信&#xff08;IPC&#xff09;的方式&#xff0c;与其他如管道、FIFO或共享内存等IPC方式不同&…...

【操作与配置】VS2017与MFC环境配置

【操作与配置】VS2017与MFC环境配置 概述 Visual Studio 是一款强大且多功能的集成开发环境&#xff08;IDE&#xff09;&#xff0c;适用于软件开发人员和团队。使用此应用程序&#xff0c;您可以构建和调试现代Web应用程序&#xff0c;并利用扩展帮助探索几乎任何编程语言。…...

遥感影像信息提取

刘老师&#xff08;副教授&#xff09;&#xff0c;来自双一流重点高校&#xff0c;长期从事GIS/RS/3S技术及其生态环境领域中的应用等方面的研究和教学工作&#xff0c;并参与GIS的二次开发&#xff0c;发表多篇sci论文&#xff0c;具有资深的技术底蕴和专业背景。 专题一&am…...

LRU算法

文章目录 LRU算法LRU 如何实现LinkedHashMap来实现的LRU算法的缓存HashMap实现LRU算法的缓存 LRU算法 LRU&#xff08;Least Recently Used&#xff09;算法可以使用哈希表和双向链表来实现。哈希表用于快速查找数据&#xff0c;双向链表用于记录数据的访问顺序。以下是LRU算法…...

JVM运行时数据区 - 程序计数器

运行时数据区 Java虚拟机在执行Java程序的过程中&#xff0c;会把它管理的内存划分成若干个不同的区域&#xff0c;这些区域有各自的用途、创建及销毁时间&#xff0c;有些区域随着虚拟机的启动一直存在&#xff0c;有些区域则随着用户线程的启动和结束而建立和销毁&#xff0…...

1.JAVA小项目(零钱通)

一、说明 博客内容&#xff1a;B站韩顺平老师的视频&#xff0c;以及代码的整理。此项目分为两个版本&#xff1a; 面向过程思路实现面向对象思路实现 韩老师视频地址&#xff1a;【【零基础 快速学Java】韩顺平 零基础30天学会Java】 https://www.bilibili.com/video/BV1fh4…...

Redis这一篇就够了

一.概述 Redis是什么&#xff1f; Redis是远程服务字典服务&#xff0c;是一个开源的使用ANSI C语言编写&#xff0c;支持网络&#xff0c;可基于内存亦可持久化的日志型&#xff0c;Key-Value数据库&#xff0c;并提供多种语言的API。 redis会周期性把更新的数据写入磁盘或把…...

Harness Engineering 又是什么新 AI 玩具?

今天我们聊了业内最新提出的 Harness Engineering。可以看到&#xff0c;在 AI 智能体优先的世界里&#xff0c;软件工程的鲁棒性开始转移到了支撑智能体上。最近 AI 编程可以说是卷上天了&#xff0c;不得不说时代的大车轱辘已经碾过来了。GLM 一个月内狂发新模型。我们今天来…...

保姆级教程:在绿联NAS上用Docker Compose一键部署PaddleOCR,打造本地私有化OCR服务

绿联NASDocker Compose极简部署PaddleOCR&#xff1a;零命令行打造私有文字识别服务 家里堆积如山的合同发票需要电子化&#xff1f;团队内部敏感文档不敢用云端OCR&#xff1f;绿联NAS用户现在可以抛开复杂命令&#xff0c;用Docker Compose三分钟搭建企业级文字识别服务。本文…...

CVE-2025-55182:React Flight协议反序列化漏洞深度剖析与实战复现

1. 漏洞背景与影响范围 最近React社区爆出一个高危漏洞CVE-2025-55182&#xff0c;这个漏洞的核心问题出在React Flight协议的序列化/反序列化机制上。简单来说&#xff0c;攻击者可以通过构造特殊的HTTP请求&#xff0c;在服务端执行任意代码。我在测试环境中复现这个漏洞时发…...

Comsol 锂枝晶模型 “五合一”:探索枝晶生长的多元奥秘

comsol 锂枝晶模型 五合一 单枝晶定向生长、多枝晶定向生长、多枝晶 随机生长只 无序生长随机形核以及雪花枝晶&#xff0c;包含相场、浓度场和电场三种物理场在锂电领域&#xff0c;锂枝晶的生长一直是研究的重点&#xff0c;因为它严重影响电池的安全性与性能。今天咱就来唠唠…...

函数信号发生器电路仿真、原理图及PCB设计

函数信号发生器电路仿真&#xff0c;原理图&#xff0c;PCB拆开手头的旧音响翻出几颗运放&#xff0c;突然想搞个函数信号发生器玩玩。这玩意儿说难不难&#xff0c;关键得让方波、三角波、正弦波乖乖听话。咱们今天直接从电路仿真干起&#xff0c;免得焊板子时炸电容。先上LTs…...

Fay数字人框架全攻略:从技术原理到商业落地的完整实践指南

Fay数字人框架全攻略&#xff1a;从技术原理到商业落地的完整实践指南 【免费下载链接】Fay Fay 是一个开源的数字人类框架&#xff0c;集成了语言模型和数字字符。它为各种应用程序提供零售、助手和代理版本&#xff0c;如虚拟购物指南、广播公司、助理、服务员、教师以及基于…...

Java 物联网无人健身房设备联动与计费系统源码

以下是一个基于Java的物联网无人健身房设备联动与计费系统的源码实现框架&#xff0c;涵盖核心模块、技术细节及优化策略&#xff1a;一、系统架构分层架构&#xff1a;表现层&#xff1a;使用UniApp实现三端适配&#xff08;微信小程序、H5、APP&#xff09;&#xff0c;管理后…...

Transformer模型中的Self-Attention机制:从理论到代码实现(PyTorch版)

Transformer模型中的Self-Attention机制&#xff1a;从理论到代码实现&#xff08;PyTorch版&#xff09; 在自然语言处理领域&#xff0c;Transformer架构彻底改变了序列建模的范式。2017年那篇开创性论文提出的Self-Attention机制&#xff0c;不仅解决了传统RNN的长期依赖问题…...

Python结合OCR技术实现高效发票信息提取与自动化处理

1. 为什么需要自动提取发票信息&#xff1f; 每次月底整理报销单据的时候&#xff0c;你是不是也经常对着堆积如山的发票发愁&#xff1f;一张张手动录入发票号码、金额、开票日期&#xff0c;不仅效率低下还容易出错。我去年在一家电商公司做财务系统优化时&#xff0c;发现财…...

炸锅!中科院分区永久停更,新锐分区接棒,科研圈要变天?

最近科研圈最大的瓜&#xff0c;莫过于中科院期刊分区的“换马甲”事件——运行22年的官方中科院分区正式谢幕&#xff0c;原团队转身推出“新锐期刊分区”&#xff0c;一石激起千层浪&#xff0c;不同立场的声音吵翻了论坛。今天就来梳理下整个事件的来龙去脉&#xff0c;拆解…...