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 ...
随机推荐
- 从内核世界透视 mmap 内存映射的本质(原理篇)
本文基于内核 5.4 版本源码讨论 之前有不少读者给笔者留言,希望笔者写一篇文章介绍下 mmap 内存映射相关的知识体系,之所以迟迟没有动笔,是因为 mmap 这个系统调用看上去简单,实际上并不简单, ...
- Solution -「营业」「CF 527C」Glass Carving
Description Link. 有一个块 \(n\times m\) 的矩形,有 \(q\) 次操作,每次把矩形横 / 竖着切一刀,问切完后的最大矩形面积. Solution 一个不同于大多数人. ...
- 聊聊 QianKun JS 沙箱的那些事
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:空山 什么是沙箱 沙箱即 SandBox,它是一种安全机制 ...
- 2020/4/27 日常补坑-tarjan第一道awa
第一题 luoguP1407 我们已知n对夫妻的婚姻状况,称第i对夫妻的男方为Bi,女方为Gi.若某男Bi与某女Gj曾经交往过(无论是大学,高中,亦或是幼儿园阶段,i≠j),则当某方与其配偶(即Bi与 ...
- 中山市 香山杯2023 Misc pintu
大便题目啊,跟拼图没有半毛钱关系 附件给我们4703张图片,而且给了tip:8->10,且这些图片的宽度都是一样的. 首先我们考虑将黑色图片当作0,白色图片当作1,将这些按编号顺序将这些图片转成 ...
- multiset用法汇总
c++语言中,multiset是<set>库中一个非常有用的类型,它可以看成一个序列,插入一个数,删除一个数都能够在O(logn)的时间内完成,而且他能时刻保证序列中的数是有序的,而且序列 ...
- P5445 [APIO2019] 路灯 题解
题目链接 题目描述 给你一个 01 串,有 \(q\) 个时刻,每个时刻要么把一位取反,要么问你在过去的所有时刻中有多少个时刻 \(a\) 和 \(b-1\) 之间都为 1. 题目分析 观察题目,我们 ...
- ubuntu系统安装到U盘便捷启动
1.前言 实现u盘系统即插即用,便捷带走.这里需要使用到VM虚拟机进行安装,这里选择64位的ubuntu系统. 2.运行VM虚拟机 以管理员运行VM虚拟机,创建一个ubuntu系统,然后选中相关的镜像 ...
- vue3源码学习api-createApp-amount
vue3 地址 https://github.com/vuejs/core 首先看看vue文档什么是 Vue? Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 Java ...
- 斗地主AI出牌助手--在线调用斗地主AI,实现自动斗地主
简介 程序基于Python3.7开发的斗地主AI出牌助手,目前支持欢乐斗地主桌面版,微信版,也可以自己制作相应其他版本. 此出牌助手核心是识别出三位玩家出牌内容,调用基于DouZero封装的API接口 ...