zoukankan      html  css  js  c++  java
  • 三元表达式、生成式、匿名函数

    一、三元表达式

    def max2(x,y):
        if x > y:
            return x
        else:
            return y
    
    res=max2(10,20)
    
    x=10
    y=20
    
    # res=x if x > y else y
    # print(res)
    
    
    res='OK' if False else 'No'
    print(res)
    

    二、生成式

    1、列表生成式

    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')])
    

    2、字典表达式

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

    3、生成器表达式

    g=(i for i in rang(10) if i > 5)

    print(g)

    print(next(g))
    print(next(g))
    print(next(g))
    print(next(g))

    with open('a.txt',mode='rt',encoding='utf-8')as f:
    #print(len(f.read()))
    #g=(len(line) for line in f)
    #res=sum(g)

    rer=sum(len(line) for line in f)
    print(res)
    

    三、匿名函数

    def func():
        print('from func')
    
    
    func()
    func()
    func()
    

    匿名函数就是只定义了一个函数的内存地址,主要用于临时使用一次的场景
    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))

  • 相关阅读:
    JasperReport html 导出
    mysql 序列号生成器 (自定义函数)
    [Java][Spring]Spring事务不起作用 问题汇总
    序列 mysql
    订单编号
    Mybatis
    SNMP 配置
    Gradle 1.12用户指南翻译——第三十八章. Eclipse 插件
    cocos2dx2.0 与cocos2dx3.1 创建线程不同方式总结
    Android实战简易教程-第二十八枪(Uri转String型实例)
  • 原文地址:https://www.cnblogs.com/liushen1995/p/10059088.html
Copyright © 2011-2022 走看看