python 列表推导式使用详解


Posted in Python onAugust 29, 2019

所谓的列表推导式,就是指的轻量级循环创建列表。

基本使用方式

# 创建一个0-10的列表
a = [x for x in range(11)]
print(a)
"""
输出结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
"""

上面的列表推导式等价于下面,只是代码非常简化。

a = []
for x in range(10):
  a.append(x)

在循环的过程中使用if

# 创建一个1-10之间偶数的列表
a = [x for x in range(11) if x%2==0]
"""
输出结果:
[0, 2, 4, 6, 8, 10]
"""

等价于

a = []
for x in range(11):
  if x%2 == 0:
    a.append(x)

2个for循环

a = [(x,y) for x in range(3) for y in range(3)]
print(a)
"""
输出结果:
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
"""

等价于

a = []
for x in range(3):
  for y in range(3):
    a.append((x,y))

练习

生成一个[[1,2,3],[4,5,6]....]的列表最大值在100以内

首先考虑一下正常情况我们应该怎么写

a = []
for x in range(1,100,3):
  a.append([x,x+1,x+2])

然后再把它转换成列表推导式

a = [[x,x+1,x+2] for x in range(1,100,3)]

文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值

Python 相关文章推荐
python zip文件 压缩
Dec 24 Python
python中as用法实例分析
Apr 30 Python
python实现备份目录的方法
Aug 03 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Django使用详解:ORM 的反向查找(related_name)
May 30 Python
python3实现逐字输出的方法
Jan 23 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
Python Sphinx使用实例及问题解决
Jan 17 Python
Python Selenium安装及环境配置的实现
Mar 17 Python
Python内置异常类型全面汇总
May 28 Python
Pycharm 2020.1 版配置优化的详细教程
Aug 07 Python
pycharm如何设置官方中文(如何汉化)
Dec 29 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 #Python
解决Django连接db遇到的问题
Aug 29 #Python
Python pandas实现excel工作表合并功能详解
Aug 29 #Python
python openCV获取人脸部分并存储功能
Aug 28 #Python
python lambda表达式在sort函数中的使用详解
Aug 28 #Python
python实现微信小程序用户登录、模板推送
Aug 28 #Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 #Python
You might like
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
js中的this的指向问题详解
2019/08/29 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
Python NumPy库安装使用笔记
2015/05/18 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
法国一家多品牌成衣精品中/高档商店:Graduate Store
2019/08/28 全球购物
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2014年纠风工作总结
2014/12/08 职场文书
2016年端午节寄语
2015/12/04 职场文书
教师教育心得体会
2016/01/19 职场文书
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL