zoukankan      html  css  js  c++  java
  • python3 匿名函数,map/reduce/filter等函数结合应用

    匿名函数就是不需要显式的指定函数

    # 平方函数
    def func1(x):
        return x**2
    print(func1)
    
    # 平方函数匿名函数写法
    func2=lambda x:x**2
    print(func2)
    print(func2(2))

    匿名函数三个例子

    f=lambda x:x**2
    print(f(2))
    
    f1=lambda x,y:x+y
    print(f1(1,2))
    
    f2=lambda x:x>1
    print(f2(3))

     

    max,zip函数应用

    max函数,zip函数应用

    # 薪水字典,打印出工资最好的那个人名
    salaries={ 'egon':3000, 'alex':100000000, 'wupeiqi':10000, 'yuanhao':2000 } print(max(salaries)) print(max(salaries.values())) res=zip(salaries.values(),salaries.keys()) #zip拉链 print(max(res)[-1])

     

    mapreducefilter函数应用(第一参数为函数,一般用lambda)

    map函数,映射

    # 映射新列表
    l=[1,2,3,4]
    m=map(lambda x:x**2,l)
    print(list(m))
    
    
    # 映射和匿名函数结合应用
    names=['alex','wupeiqi','yuanhao']
    print(list(map(lambda item:item+'666',names)))

     

    reduce函数,合并

    from functools import reduce
    
    # 遍历出100以内的整数
    res=0
    for i in range(100):
        res+=1
    
    # 打印出1到100整数相加的和
    print(reduce(lambda x,y:x+y,range(100),100))
    # lambda x,y:x+y    初始值和取值相加
    # range(100)        取值范围
    # 100               初始值,如果范围改成range(101),初始值可以改成0

     

    filter函数,过滤

    # 过滤出结尾为‘666’的列表元素
    names=['alex666','yuanhao666','wupeiqi666','egon']
    print(list(filter(lambda name:name.endswith('_666'),names)))

     

    sorted函数,排序

    l=[1,2,4,9,-1]
    print(sorted(l)) #从小到大
    print(sorted(l,reverse=True)) #从大到小

     

  • 相关阅读:
    程序员开发过程常见问题的解决方法(持续更新中....)
    android 单元测试
    浅谈android binder机制
    Android 写模块化代码注意事项
    Android View 简析
    PackageManager源码分析
    Android N做了啥
    JAVA HTTP POST参数为一个对象或数组
    Spring+Jetty+Jersey+Mybatis整合教程 无web.xml 、webapp版
    IKAnalyzer 添加扩展词库和自定义词
  • 原文地址:https://www.cnblogs.com/lucaq/p/7067659.html
Copyright © 2011-2022 走看看