推导式:

推导式是为了简化代码.

语法:

列表推导式:[数据 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)的更多相关文章

  1. 简学Python第四章__装饰器、迭代器、列表生成式

    Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群  群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...

  2. Python 的几种推导式

    推导式 comprehensions(又称解析式):是 Python 中很强大的.很受欢迎的特性,具有语言简洁,速度快等优点.推导式包括: 1. 列表推导式 2. 字典推导式 3. 集合推导式 对以上 ...

  3. python学习笔记013——推导式

    1 推导式简介 推导式comprehensions(又称解析式),是Python的一种独有特性. 推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 推导式有三种形式: 1)列表推导式 (li ...

  4. 20190827 On Java8 第十四章 流式编程

    第十四章 流式编程 流的一个核心好处是,它使得程序更加短小并且更易理解.当 Lambda 表达式和方法引用(method references)和流一起使用的时候会让人感觉自成一体.流使得 Java ...

  5. Python函数04/生成器/推导式/内置函数

    Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生 ...

  6. python中的链表推导式

    python中的链表推导式 博客分类: Python Python  num=[1,2,3] myvec=[[x,x*2] for x in num] #嵌套一个链表,格式为一个数和他的平方 prin ...

  7. python 推导式(Comprehensions)

    一.介绍 列表推导(list comprehensions) 这是一种将for循环.if表达式以及赋值语句放到单一语句中的一种方法.换句话说,你能够通过一个表达式对一个列表做映射或过滤操作. 一个列表 ...

  8. Python第四章实验报告

    一.实验项目名称:<零基础学Python>第四章的14道实例和4道实战 二.实验环境:IDLE(Python 3.9 64-bit) 三.实验目的和要求:熟练掌握Python序列的应用 四 ...

  9. python 三元运算符、推导式、递归、匿名函数、内置函数

    三目运算符 # 三目(元)运算符:就是 if...else...语法糖 # 前提:简化if...else...结构,且两个分支有且只有一条语句 # 注:三元运算符的结果不一定要与条件直接性关系 cmd ...

  10. python生成器和各种推导式

    一. 生成器 本质就是迭代器. 一个一个的创建对象 创建生成器的方式: 1. 生成器函数 2. 通过生成器表达式来获取生成器 3. 类型转换(看不到) 二. 生成器函数 (重点) 生成器函数中包含 y ...

随机推荐

  1. netstat命令输出详解

    netstat命令输出详解 1. 列出所有的TCP和UDP端口 2. 命令输出详解 Proto:协议名(tcp协议还是udp协议) recv-Q:网络接收队列,send-Q:网路发送队列 a. rec ...

  2. 研发提速:nacos+openfeign环境下的本地链接服务

    项目研发过程中,经常会遇到与测试人员工作重叠的情况,十分影响效率. 做了一个修改,可以在本地环境启动项目后和测试环境交互,并且不影响测试环境,理论上也可以用于线上环境的异常的快速处理. 准备事项如下: ...

  3. July 2023 (version 1.81)

    July 2023 (version 1.81) 更新后显示发行说明 Update 1.81.1: The update addresses these issues. Welcome to the ...

  4. Elasticsearch 6.8.6

    mac;centos;unix;  下载 wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.6. ...

  5. Redis 6 学习笔记 1 —— NoSQL数据库介绍,Redis常用数据类型

    NoSQL数据库介绍(了解) 技术的分类1.解决功能性的问题:Java.Jsp.RDBMS.Tomcat.HTML.Linux.JDBC.SVN,2.进一步地,解决系统功能扩展性的问题:Struts. ...

  6. [Python]对称日!

    def check(year): if (year%4 == 0 and year%100 != 0) or year%400 == 0: return True else: return False ...

  7. 《流畅的Python》 读书笔记 第7章_函数装饰器和闭包

    第7章 函数装饰器和闭包 装饰器这个名称可能更适合在编译器领域使用,因为它会遍历并注解句法树 函数装饰器用于在源码中"标记"函数,以某种方式增强函数的行为.这是一项强大的功能,但是 ...

  8. testre

    f5看到关键代码判断 猜测这是flag或者是加密后的结果,直接将其当作flag答案不对,所以猜测为加密后的结果,然后再通过其他函数了解 跟进第一个函数发现编码表 本来想试试base解密,可是当时只试了 ...

  9. windows 下终止nginx 进程 重新启动nginx

    进入cmd 输入一下命令 删除nginx所有进程 taskkill /f /t /im nginx.exe

  10. JavaScript高级程序设计笔记06 集合引用类型

    集合引用类型 1. Object(详见c08 p205) 适合存储,在应用程序间交换数据 创建实例: a. 显式构造函数 b. 字面量-->不会调用构造函数(代码更少.更有封装感) 函数:大量参 ...