zoukankan      html  css  js  c++  java
  • day13 三元表达式 生成式 匿名函数与内置函数

    三元表达式

    res=x if x > y else y          #左边的x和右边的y是条件成立和不成立的返回值
    print(res)
    
    res='OK' if False else 'No'      #OK是条件成立下的返回值   NO是条件不成立下的返回值
    print(res)

    生成式

     分为列表生成式和字典生成式

    列表生成式

    列表生成式
    l=[]
    for i in range(10):
        if i > 4:
            l.append(i**2)
    
    l=[i**2 for i in range(10) if i > 4]
    print(l)
    
    
    names=['egon','alex_sb','kevin_sb','hxx_sb','cxx_sb']
    sbs=[]
    for name in names:
        if name.endswith('sb'):
            sbs.append(name)
    
    sbs=[name.upper() for name in names if name.endswith('sb')]
    print([name.upper() for name in names])
    print([name for name in names if name.endswith('sb')])

    字典生成式

    字典生成式
    res={i:i**2 for i in range(10) if i > 3}
    print(res)
    print({i for i in 'hello'})

    匿名函数与内置函数

    # 匿名函数就是只定义了一个函数的内存地址,主要用于临时使用一次的场景
    # func=lambda x,y:x+y
    # print(func)
    # print(func(1,2))
    
    # res=(lambda x,y:x+y)(1,2)
    # print(res)
    
    
    # print(max([10,11,-3,23]))
    
    salaries={
        'egon':3000,
        'alex':100000000,
        'wupeiqi':10000,
        'yuanhao':2000
    }
    # def func(k):
    #     return salaries[k]
    
    # print(max(salaries,key=lambda k:salaries[k]))
    # print(min(salaries,key=func))
    # for循环的结果         比较依据
    # 'egon'                3000
    # 'alex'                100000000
    # 'wupeiqi'             10000
    # 'yuanhao'             2000
    
    # l=[4,2,3]
    # l_new=sorted(l,reverse=True)
    # print(l_new)
    
    
    print(sorted(salaries,key=lambda k:salaries[k],reverse=True))
    

      

  • 相关阅读:
    因式分解
    插入排序算法
    小技巧(杂乱篇章)
    错误的模糊应用(类继承问题)
    同源策略和跨域解决方案
    Django admin源码剖析
    Python中该使用%还是format来格式化字符串?
    Django的认证系统
    Django中间件
    Django form表单
  • 原文地址:https://www.cnblogs.com/wangmiaolu/p/10044135.html
Copyright © 2011-2022 走看看