zoukankan      html  css  js  c++  java
  • **三元运算和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)
    

      

    l = [('k1', 2), ('k2', 4), ('k3', 6), ('k4', 8)]
    d = {key: value for (key, value) in l}
    print(d)
    

      

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

    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函数。

  • 相关阅读:
    django通用视图(类方法)
    学期总结
    计算机网络复习
    面试总结二
    电话面试总结
    Linux用户管理-中
    Linux之用户管理--初级上
    web聊天室总结
    聊一聊JQ中delegate事件委托的好处
    git的使用[转]
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/6655464.html
Copyright © 2011-2022 走看看