Python 学习之列表推导式
目录
1、列表推导式-最简形式(list comprehensions):
2、列表推导式-过滤条件形式:
(1)只有if形式:
(2)if-else形式:
(3)列表推导式-循环嵌套形式:
1、列表推导式-最简形式(list comprehensions):
[expression for item in list] 等价于
for item in list:
expression
list_val = []
for i in range(1,6):list_val.append(i**2)
print(list_val)
#等价于
new_list = [i**2 for i in range(1,6)]
print(new_list)
运行结果:
与大小写转换之间的运用:
word_list = ['I', 'love', 'Python']
print([i.upper() for i in word_list])
print([i.lower() for i in word_list])
print([i.title() for i in word_list])
运行结果:
2、列表推导式-过滤条件形式:
(1)只有if形式:
[expression for item in list if conditional] 等价于
for item in list:
if conditional:
expression
list_val = []
for i in range(21):if i % 2 == 0:list_val.append(i)
print(list_val)
# 等价于
new_list = [i for i in range(21) if i % 2 == 0]
print(new_list)
运行结果:
(2)if-else形式:
[expression1 if conditional else expression2 for item in list] 等价于
for item in list:
if conditional:
expression1
else:
expression2
names = ['AndyFung', 'JackMa', 'BillGates']
list_val = []
for i in names:if len(i) < 8:list_val.append(i.lower())else:list_val.append(i.upper())
print(list_val)
# 等价于
new_list = [i.lower() if len(i) < 8 else i.upper() for i
in names]
print(new_list)
运行结果:
区别:只有if的时候,if是在for循环后面的;如果是if-else,它们是在for循环前面的。
(3)列表推导式-循环嵌套形式:
[expression for i in list1 for j in list2] 等价于
for i in list1:
for j in list2:
expression
list_val = []
for i in '高富帅':for j in '白富美':list_val.append(i+j)
print(list_val)
# 等价于
new_list = [i+j for i in '高富帅' for j in '白富美']
print(new_list)
运行结果:
Python 学习之列表推导式相关推荐
- Python学习笔记 —— 独步天下推导式语法糖
Python学习笔记 -- 独步天下推导式语法糖 前言 介绍 列表推导式 获取当月天数 字典推导式 模拟三条用户数据 结束语 前言 最近心血来潮,学习了一下Python,其中关于 推导式语法糖 感觉功 ...
- Python 中的列表推导式
Python 中的列表推导式 简单用法 添加多个条件 多个列表使用 替换 Reduce 和 Lambda 嵌套列表推导式 列表推导式是一种 Python 构造,可减少生成新列表或过滤现有列表所需的代码 ...
- Python教程:列表推导式和嵌套的列表推导式讲解
1.列表推导式 列表推导式提供了一个更简单的创建列表的方法.常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列. 例如,假设我 ...
- 【Python学习教程】推导式与生成器
当我们对一批可迭代的数据(如列表或字典)进行提取或处理,最后要得到一个新的列表或字典时,推导式是一种非常简洁的表达方式. 列表推导式 比如,有一批数据 data = [{'name': '张三', ' ...
- python教程:列表推导式对比For循环执行效率
我们在前面的学习中都知道,如果把1-10以内的元素追加到一个新的列表表中,如果使用for循环我们可以这么做: a = [] for i in range(1,11):a.append(i) print ...
- 【Python基础】Python轻量级循环-列表推导式
概 述 Python 列表推导式(list comprehension)利用其他列表创建新的列表,工作方式类似于for循环,使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表 ...
- python 优雅的 列表推导式(for in if)生成器表达式 集合推导式和字典推导式 列表动态构建器(不用先创建空容器【空列表】,再一个一个append()进去那样麻烦了)
文章目录 用于创建列表也是非常方便的,比如获取当前连接的所有Intel Realsense摄像头序列号 写代码的时候偶然将这段优雅的代码码了出来,感觉很神奇,就去搜索,原来这种语法叫做列表推导式(fo ...
- Python|为什么列表推导式会更快
1.列表推导式 你一定听过这样一个说法,尽量使用列表推导式,而不是用list.append方法来初始化一个列表,那么究竟为何列表推导式会更快呢? 这是因为,列表推导式被编译后的字节码执行速度更快.py ...
- 【Python学习】 - - 链表推导式[ 2*x for x in X ]、匿名函数、并行迭代
列表推导式[x for x in range(n)] 问题:请计算出1~9间的整数的平方 常规方法 for i in range(1,10):print(i*i) 链表推导式: print([x*x ...
最新文章
- 制度缺陷,美国96%受访公司的人工智能项目陷于停顿,难怪封堵
- Android开源项目分类汇总-转载
- java 轮询请求接口_Android RxJava 实际应用讲解:(无条件)网络请求轮询
- java接口常用_java的常用接口
- MySQL工作中的实际用_总结工作中经常用到的mysql基础知识
- 第二十讲、迭代器模式
- windows安装使用SQLlite并在C#调用SQLlite开发
- detectron2 ImportError: cannot import name ‘_C‘ from ‘detectron2‘
- C++中使用GSoap
- 钢结构计算机模拟拼装,钢结构技术-钢结构虚拟预拼装技术
- 开源硬件USB抓包及协议分析工具分享
- Java与Android配合开发ICQ、2018-8-4
- 简述固定资产的全生命周期管理流程
- java期末考试B卷题及答案,《JAVA程序设计》期末试题B卷
- 如何下载腾讯课堂网页版的历史回放(电脑端)大多网页上的视频均可下载
- ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet-2-02:资源包详解
- 【Python】批量修改照片文件名为拍摄日期
- Windows 10 下安装pycrypto时出错的解决问题
- 区块链对医疗行业的影响
- @Value(“${}“)
热门文章
- C++(分数类,进行加减乘除的运算并化简)
- Spring5使用JDBCTemplate批处理添加数据时提示SQL语法有错
- 关于SparkSQL的开窗函数,你应该知道这些!
- 图像采集卡 | 以每秒千兆像素的速度进行图像处理
- ubuntu安装QT5.14.2:编译项目报错、不能输入中文解决
- h5游戏接入googleplay时遇到的问题总结
- CES 2017:连接人工智能
- 一穷二白的打工仔如何逆袭创业当老板,穷人如何改变我们的命运?
- python转盘抽奖_Python使用Tkinter实现转盘抽奖器的步骤详解
- 泛微为什么大量招人_OA市场增长乏力 泛微未来靠什么取胜?