Python——第四章:推导式(Comprehensions)
推导式:
推导式是为了简化代码.
语法:
列表推导式:[数据 for循环 if判断]
集合推导式:{数据 for循环 if判断}
字典推导式:{k:v for循环 if判断}
元组推导式:不存在(因为元组不可以增、删、改)
生成器表达式:(数据 for循环 if判断) -> 不是元组推导式
不要把推导式妖魔化
不要刻意去用推导式表达复杂的公式
列表推导式(List Comprehensions)
标准写法:
lst = []
for i in range(10):
lst.append(i)
print(lst)
推导式写法
lst = [i for i in range(10)]
print(lst)
#执行结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
列表推导式:练习
1. 请创建一个列表[1,3,5,7,9]
lst = [i for i in range(1, 10, 2)]
lst = [i for i in range(10) if i % 2 == 1]
print(lst)
#执行结果,相同
[1, 3, 5, 7, 9]
2. 生成50件衣服
lst = [f"衣服{i}" for i in range(5)]
print(lst)
#执行结果
['衣服0', '衣服1', '衣服2', '衣服3', '衣服4']
3. 将如下列表中所有的英文字母修改成大写
lst1 = ["allen", "tony", "kevin", "sylar"]
lst2 = [item.upper() for item in lst1]
print(lst2)
#执行结果
['ALLEN', 'TONY', 'KEVIN', 'SYLAR']
集合推导式(Set Comprehensions)
s = {i for i in range(10)}
print(s)
#执行结果
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
字典推导式(Dictionary Comprehensions)
请将下列的列表修改成字典, 要求 索引做为key, 数据作为value
lst = ['赵本山', "潘长江", "高达", "奥特曼"]
dic = {i: lst[i] for i in range(len(lst))}
print(dic)
#执行结果
{0: '赵本山', 1: '潘长江', 2: '高达', 3: '奥特曼'}
Python——第四章:推导式(Comprehensions)的更多相关文章
- 简学Python第四章__装饰器、迭代器、列表生成式
Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群 群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...
- Python 的几种推导式
推导式 comprehensions(又称解析式):是 Python 中很强大的.很受欢迎的特性,具有语言简洁,速度快等优点.推导式包括: 1. 列表推导式 2. 字典推导式 3. 集合推导式 对以上 ...
- python学习笔记013——推导式
1 推导式简介 推导式comprehensions(又称解析式),是Python的一种独有特性. 推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 推导式有三种形式: 1)列表推导式 (li ...
- 20190827 On Java8 第十四章 流式编程
第十四章 流式编程 流的一个核心好处是,它使得程序更加短小并且更易理解.当 Lambda 表达式和方法引用(method references)和流一起使用的时候会让人感觉自成一体.流使得 Java ...
- Python函数04/生成器/推导式/内置函数
Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生 ...
- python中的链表推导式
python中的链表推导式 博客分类: Python Python num=[1,2,3] myvec=[[x,x*2] for x in num] #嵌套一个链表,格式为一个数和他的平方 prin ...
- python 推导式(Comprehensions)
一.介绍 列表推导(list comprehensions) 这是一种将for循环.if表达式以及赋值语句放到单一语句中的一种方法.换句话说,你能够通过一个表达式对一个列表做映射或过滤操作. 一个列表 ...
- Python第四章实验报告
一.实验项目名称:<零基础学Python>第四章的14道实例和4道实战 二.实验环境:IDLE(Python 3.9 64-bit) 三.实验目的和要求:熟练掌握Python序列的应用 四 ...
- python 三元运算符、推导式、递归、匿名函数、内置函数
三目运算符 # 三目(元)运算符:就是 if...else...语法糖 # 前提:简化if...else...结构,且两个分支有且只有一条语句 # 注:三元运算符的结果不一定要与条件直接性关系 cmd ...
- python生成器和各种推导式
一. 生成器 本质就是迭代器. 一个一个的创建对象 创建生成器的方式: 1. 生成器函数 2. 通过生成器表达式来获取生成器 3. 类型转换(看不到) 二. 生成器函数 (重点) 生成器函数中包含 y ...
随机推荐
- Vue源码学习(五):<templete>渲染第四步,生成虚拟dom并将其转换为真实dom
好家伙, 前情提要: 在上一篇我们已经成功将ast语法树转换为渲染函数 现在我们继续 1.项目目录 代码已开源https://github.com/Fattiger4399/analytic ...
- redis基本数据类型 SortedSet
SortedSet命令练习 将班级的下列学生得分存入Redis的SortedSet中:Jack 85, Lucy 89, Rose 82, Tom 95,Jerry 78, Amy 92, Miles ...
- C++ STL快速入门方法
在数月之前的机试中第一次体验到STL的威力,因为自己本来一直在用C语言做开发,很多数据结构都是自己造的,比如链表.队列等,第一次接触C++ STL后发现这些数据结构都已经给我提供好了,我直接拿去调用就 ...
- DESTOON做中英双语言(多语言)切换版本具体详解
第一次发原创好激动,该注意点什么? 在开发过程中用户有许多要求,比如这个多语言切换就是一个需求. 首先讲解一下DESTOON(DT)后台系统如何做这个中英.甚至多语言切换的这个功能. DT本身不自带多 ...
- Docker系列——介绍、安装、镜像、容器、docker容器与镜像、数据卷、Dockerfile、docker 配置pycharm连接
目录 1 Docker 介绍 1.1 简介 1.2 Docker平台介绍 1.3 为什么使用Docker 2 Docker 整体结构(了解) 2.1 Docker引擎介绍 (Docker Engine ...
- Chapter 6. Build Script Basics
Chapter 6. Build Script Basics 6.1. Projects and tasks Everything in Gradle sits on top of two basic ...
- DevOps|研发效能解决的是企业效率问题
研发效能并不能解决企业效益问题 它不是利润中心,不能给你带来直接收入(研发效能相关工具厂商做咨询.出方案.卖工具除外).想要解决企业效益问题,依赖于企业战略.业务/产品.组织.运营.创新等其他方面. ...
- 轻量通讯协议 --- MQTT
介绍 一.MQTT简介 MQTT(Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议,通常用于在物联网(IoT)和传感器网络中进行通信.它设计用于在低 ...
- Perceptual Losses 风格迁移论文复现小记
看了一篇李飞飞组的论文 Perceptual Losses for Real-Time Style Transfer and Super-Resolution. 论文地址为:https://arxiv ...
- 前端web页面支持MQTT消息推送
MQTT服务一般用直接下载mosquitto,安装后启动服务即可.方便可靠. 但是默认情况下只开通了1883的tcp访问,用html的web页面上调用就不行了. 其实mosquitto是支持多端口的, ...