列表推导式
时间:2019-03-14
本文章向大家介绍列表推导式,主要包括列表推导式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
学了python很长时间,我才真正的理解列表推导式。
基本语法
a = [i*i for i in range(3)] print(a)
结果:
[0,1,4]
基本原理:Python在执行列表推导式时,会对可迭代对象 L
进行迭代,将每一次迭代的值赋给循环变量 i ,然后收集变量表达式 i*i 的计算结果,最终由这些结果构成了新的列表,也就是列表推导式所返回的值。
只要支持 for
循环进行迭代的对象,都可以对它使用列表推导式。
高级用法
带if语句的
我们可以在 for
语句后面跟上一个 if
判断语句,用于过滤掉那些不满足条件的结果项。
例如,一行打印出1~100偶数的列表可以这么写
a = [ i for i in range (1,100) if i%2==0] print(a)
带有嵌套循环的
在复杂一点的列表推导式中,可以嵌套有多个 for
语句。按照从左至右的顺序,分别是外层循环到内层循环。
b = [x+y for y in ["A","B"] for x in ["1","2"]] print(b)
结果:
['1A', '2A', '1B', '2B']
相当于:
li = [] for x in ["1","2"]: for y in ["A","B"]: li.append(x+y) print(li)
既有if语句又有for嵌套循环
例题:输出0~4之间偶数和奇数的和:
b = [(i,j)for j in range(5)if j %2==0 for i in range(5) if i%2==0] print(b)
结果:
[(0, 0), (2, 0), (4, 0), (0, 2), (2, 2), (4, 2), (0, 4), (2, 4), (4, 4)]
等价于:
>>> L = [] >>> for x in range(5): ... if x % 2 == 0: ... for y in range(5): ... if y % 2 == 1: ... L.append((x, y)) >>> L [(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]
- 机器学习之决策树熵&信息增量求解算法实现
- 朴素贝叶斯分类器(离散型)算法实现(一)
- spring设置全局异常处理器
- discuz论坛apache日志hadoop大数据分析项目:hive以及hbase是如何入库以及代码实现
- 【Golang语言社区】前端编程- 从零开始开发一款H5小游戏(一) 重温canvas的基础用法
- 今天聊聊分布式锁 No.86
- 【JS游戏编程基础】关于js里的this关键字的理解
- 【算法】随机森林算法
- 【Golang语言社区--H5编程】smoke.js
- GO语言标准库概览
- Golang测试技术
- 安装Python时遇到如下问题,解决方案
- spring使用Email邮件系统
- discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法