三元运算和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函数。

时间: 2024-10-21 17:58:29

三元运算和lambda的相关文章

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

1.yield 英文意思生产.生成的意思,在Python中带有yield的函数被称为生成器(Generator) ''' for i in range(10000) #生成10000个元素的List 值越大,运行中占用的内存就会越大 for j in xrange(10000) #xrange返回的不是List,而是一个iterable的对象 每次迭代返回下一个数值,占用很小的内存空间 ''' def readFileByYield(xpath): with open(xpath,'rb') a

三元运算、lambda表达式

三元运算又叫三目运算. result = "A" if x > y else "B"   #如果条件成立,result=A,否则,result=B. 对于简单的函数,可用lambda表达式. def f1(a1):     return a1 + 100 f1 = lambda a1: a1 + 100

三元运算和lambda表达式

三元运算:   result = 'get' if 1 > 3 else 'li' print result 如果 if 条件中满足,就返回‘get’ 给result,如果为假就返回‘li'给result temp = lambda x,y : x + yprint temp(2,4)

python——三元运算、lambda表达式

一.三元运算 格式:对象 = 值1 if 条件 else 值2                当条件成立将值1赋给对象,反之将值2赋给对象 >>> name = 1 if True else 2 >>> name 1 >>> name = 1 if False else 2 >>> name 2 通式:代码1  if 条件 else 代码2                    当条件成立执行if前面的代码1,不成立则执行代码2 二.

python 三元运算与lambda

一.lambda表达式 1 >>> def add(x,y): #定义一个加法函数 2 return x+y #返回两个参数的相加的值 3 4 >>> z=f(3,4) 5 >>> print(z) 6 7 #调用加法函数返回7 7 >>> lambda x,y:x+y 8 <function <lambda> at 0x0000020F385B86A8> 9 #可以看到lambda是一个 function(函

Python笔记第3章,模块和模块的常用方法,函数式编程yield,三元运算Lambda表达式,内置涵数,常用模块

<--目录--> 模块和模块的常用方法 函数式编程 yield 三元运算 Lambda表达式 内置涵数 常用模块 [模块和模块的常用方法]至关重要的__init__.py    #包一定要有这个__init__.py文件,他才是包,这样才能通过form 包名 import 模块名(.py文件名)来去引用这个包的某个模块的某个函数功能 判断是否为主文件:__name__ if __name__ == '__main__' 当前文件路径: __file__ 当前文件描述: __doc__ 1)if

python中的lambda表达式与三元运算

1 >>> def add(x,y): #定义一个加法函数 2 return x+y #返回两个参数的相加的值 3 4 >>> z=f(3,4) 5 >>> print(z) 6 7 #调用加法函数返回7 7 >>> lambda x,y:x+y 8 <function <lambda> at 0x0000020F385B86A8> 9 #可以看到lambda是一个 function(函数)类对象 10 >

Python-yield 三元运算 Lambda表达式

yield(保存函数的执行状态) 一个带有 yield 的函数就是一个 generator,它和普通函数不同,生成一个 generator 看起来像函数调用,但不会执行任何函数代码,直到对其调用 next()(在 for 循环中会自动调用 next())才开始执行.虽然执行流程仍按函数的流程执行,但每执行到一个 yield 语句就会中断,并返回一个迭代值,下次执行时从 yield 的下一个语句继续执行.看起来就好像一个函数在正常执行的过程中被 yield 中断了数次,每次中断都会通过 yield

三元运算+lambda表达式

#三元运算,三目运算,if else简写 if 1 == 1:     name = "liangml" else:     name = "NB" #如果 1==1 成立,name = "liangml" 否则 name = "NB" name = "liangml" if 1 == 1 else "NB"#三元运算 #lambda表达式 def f1(a1):     return