• python-函数式编程


    map()函数:

      接收两个参数:一个是函数,一个是序列,map函数将传入的函数一次作用到序列的每个元素,若传入的函数有返回则把结果作为新的序列返回.反之,返回空序列(字符串也是序列)

    filter()函数:

    reduce()函数:

      接受两个参数:一个是函数,一个是序列,reduce函数将传入的函数(必须两个参数)作用到序列上,输出结果继续和序列的下一个元素做运算,最终reduce()函数的返回结果,由传入的函数返回结果决定.

    lambda表达式,匿名函数

    下面看一个例子:通过调用map()函数和reduce()函数,求一个整数的组成数字及其数字之和

    #_*_coding:UTF-8_*_

    """
    2016-06-05
    程序通过调用map()函数和reduce()函数,
    求输入一个整数输出组成该整数的数字及其和

    """
    num = input('输入一个整数:')
    #将整数转换成字符串
    s = str(num)

    #定义map参数函数
    def f(s):
    #字符与数字字典
    dic = {'1':1,'2':2,'3':3,'4':4,'5':5,"6":6,'7':7,'8':8,'9':9,'0':0}
    return dic[s]

    #定义reduce参数函数
    def add(x,y):
    return x + y

    #调用map()函数,将字符串转换成对应数字序列,并打印
    s = map(f,s)
    print "输入整数%d的组成数字为%s"%(num,s),

    #调用reduce函数,对数字序列求和,并打印
    Sum = reduce(add,s)
    print "其和为:%d"%Sum

    程序执行结果: 

    下面是一个统计词频的例子:

    str="an apple a banana three apple a desk"
    list=str.split(' ')
    def fun(x,y):
    if y in x:
    x[y]=x[y]+1
    else:
    x[y]=1
    return x
    result=reduce(fun,list,{})
    #输出结果是
    >>>{'a': 2, 'apple': 2, 'three': 1, 'an': 1, 'desk': 1, 'banana': 1}

  • 相关阅读:
    uni-app 苹果内购支付及获取苹果支付成功信息
    nginx强制使用https访问(http跳转到https)
    最新IOS审核被拒原因TOP10 | 附带解决方法
    ethercat PREEMPT SMP
    client-go workqueue
    k8s apiserver 重启失败
    cni flannel iptables -t filter -D FORWARD -j REJECT --reject-with icmp-host-prohibited
    nginx configmap
    golang yaml LoadYAML
    not found: manifest unknown: manifest unknown
  • 原文地址:https://www.cnblogs.com/isunny/p/7081822.html
Copyright © 2020-2023  润新知