龙空技术网

优雅python系列之列表生成式

sn0wfree 178

前言:

今天兄弟们对“生成列表 python”大致比较关心,大家都需要学习一些“生成列表 python”的相关文章。那么小编也在网上网罗了一些关于“生成列表 python””的相关文章,希望我们能喜欢,小伙伴们一起来了解一下吧!



今天来介绍优雅Python系列之列表生成式。

列表生成式(list comprehension)是Python提供的一种语法糖,它可以优雅简单清晰的方式根据预期条件和顺序生成列表。

什么是列表生成式

众所周知,Python是一种面向对象的编程语言。对于Python来说,一切皆为对象。同时Python同样可以以函数式编程方式进行,就如同数学计算一样。当给定输入的情况下,一个函数的输出值应该也是一样的。

例如,给定:

f(x) = x^2

那么f(x) 将总是返回相同的值,如果给予相同的x值。

列表生成式(list comprehension)这是一种函数式编程方式。这种方式可以清晰明了的创造一个list,而不用写一个循环。


List Comprehension

其中:

expr 为表达式value 为变量collections 为可迭代对象<cond> 为对应条件判断语句

List Comprehension 示例


例子

[ i**3 for i in [1,2,3,4] if i>2 ]

就意味着对于list( [1,2,3,4] ),将一个接一个的遍历list中的元素,然后判断该元素是否大于2,如果大于2,将计算其立方值,否则忽略它。会生成如下list

Output : [27, 64]
类似语法

同样类似的语法还有如下:

set comprehensiondict comprehensiontuple comprehensionmap,filter,reduce + lambda

之后文章来逐一说明

标签: #生成列表 python