Python列表解析学习
2017-04-06 11:06
260 查看
1.定义和说明
>Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list。>列表解析,又叫列表推导式( list comprehension)>列表解析比 for 更精简,运行更快,特别是对于较大的数据**
>列表解析可以替代绝大多数需要用到 map和 filter的场合 列表推导式提供了一个创建链表的简单途径,无需使用 map() , filter() 以及 lambda 。以定义方式得到列表通常要比使用构造函数创建这些列表更清晰。每一个列表推导式包括在一个 for 语句之后的表达式,零或多个
for 或 if 语句。返回值是由 for 或 if 子句之后的表达式得到的元素组成的列表。如果想要得到一个元组,必须要加上括号。
2.基本列表解析
>>> [x for x in range(5)] # [0, 1, 2, 3, 4]l1 = [1,2,3,4][ x*2 for x in l1] #[2,4,6,8]多个值的[ '%s = %s' for (k, v) in a_map.items()]
两次循环>>> l1 = [1,2,3,4]
>>> l2 = [1,2,3,4]
>>> [x+y for x in l1 for y in l2]
[2, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 7, 5, 6, 7, 8]
可以调用函数[ func(x) for x in list1] #等价于map,相当于利用func对list里面的每个元素操作后生成新的列表。
注意,列表解析不会改变原有列表的值,会创建新的list
3.条件列表解析
[ x for x in range(100) if x%2 ==0 ]4.、嵌套列表解析
mat = [ [1, 2, 3],[4, 5, 6], [7, 8, 9]]交换行列[ [row[i] for row in mat] for i in (0,1,2)] #[[1, 4, 7], [2, 5, 8], [3, 6, 9]]相关文章推荐
- Python学习之路18——控制语句,迭代器, 列表解析
- python之列表推导式及嵌套列表解析学习
- 学习日志---python(列表解析、生成器、字典和集合)
- PYTHON-嵌套列表list的解析学习
- Python 列表解析 例子 讲解 学习 list comprehension in python demo
- python 进阶学习:列表解析效率和timeit模块
- 《转》python学习(12)-列表解析
- Python学习22:列表解析(列表综合深入)
- 学习日志---python(列表解析、生成器、字典和集合)
- python学习四:import模块方法、可变参数、字典key判断、版本信息获取、列表解析、
- python列表解析不写for循环do something
- python学习笔记---列表和元组
- python学习手册笔记--第8章--列表与字典
- Python学习笔记整理(五)Python中的列表.
- python学习笔记——列表
- Learn Python The Hard Way学习(34) - 访问列表中的元素
- [python学习]列表复制
- python 列表解析
- 我的python学习之路--列表表达式及匿名函数lambda
- Python 列表解析和生成器表达式