三元运算和lambda

Posted 无名小妖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三元运算和lambda相关的知识,希望对你有一定的参考价值。

三元运算

在说三元运算之前,我们看一段代码:

a = 1
if a == 1:
    name = ‘Hello‘
else:
    name = ‘World‘
print(name)

  输出:Hello

对于这种简单的判断语句我们可以将其使用三元运算进行表示:

a = 1
name = ‘Hello‘ if a == 1 else ‘World‘
print(name)

  输出:Hello

可以看到上面4行代码实现的功能,使用三元运算一行代码就搞定了。

 

还有类似的代码:

l1 = [1, 2, 3, 4]
l2 = [i for i in l1 if i < 3]
print(l1)
print(l2)

  都可以起到简化代码的作用。

 

lambda

同样,在说lambda之前,我们看一段代码:

def f1(p1):
    p1 += 100
    return p1
ret1 = f1(10)
print(ret1)

  输出:110

对于这种简单的函数我们可以使用lambda进行表示:

f2 = lambda p1: p1 + 100
ret2 = f2(10)
print(ret2)

  输出:110

注意:lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个(即不能在后面添加if等语句)。

如果你的函数非常简单,只有一个表达式,不包含命令,可以考虑lambda函数。

 

以上是关于三元运算和lambda的主要内容,如果未能解决你的问题,请参考以下文章

Python-三元运算符和lambda表达式

在 Lambda 中使用三元运算符的替代方法

Python-yield 三元运算 Lambda表达式

从三元运算符返回 lambda [重复]

Python学习心得 yield和三元运算以及lambda表达式

三元运算lambda表达式