欢迎来到簟纹灯影的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

条件表达式与解析语法

条件表达式

python支持条件表达式的语法,可以取代一个简单的控制结构。一般语法表达式的语法如下:

expr1 if condition else expr2

对于这种复合表达式,如果条件为真,则计算expr1;否则,计算expr2。这相当于Java或C++中的语法:condition ? expr1 : expr2

比如我们不依赖内置函数abs来获得一个数的绝对值,我们可以这样写:

result = n if n >= 0 else -n

解析语法

python提供了一种精炼的写法,可以根据一份列表来制作另外一份。这种表达式称为list comprehension(列表推导)。语法:

[expression for value in iterable if condition]

示例,返回一10 内偶数的平方列表:

lis = [i**2 for i in range(11) if i%2 == 0]

除了有列表推导式,还有集合、字典和生成器推导式,比如我们计算数字的平方:

[k*k for k in range(1,n+1)]   #列表解析
{k*k for k in range(1,n+1)}   #集合解析
(k*k for k in range(1,n+1))	  #生成器解析
{k:k*k for k in range(1,n+1)} #字典解析
posted @ 2019-08-14 17:22  簟纹灯影  阅读(423)  评论(0编辑  收藏  举报