zoukankan      html  css  js  c++  java
  • python3.x filter,map,reduce浅析

    #map用法:

    #传递函数api进入map去执行,把字符串第一个字母变大写,

    #其他变小写返回

    def format_name(s):
      s=s.lower()
      print(s)
      return s[0].upper()+s[1:]

    print map(format_name, ['adam', 'LISA', 'barT'])

    #reduce用法:
    #例如,编写一个f函数,接收x和y,返回x和y的和:

    def f(x, y):
      return x + y


    调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:

    先计算头两个元素:f(1, 3),结果为4;
    再把结果和第3个元素计算:f(4, 5),结果为9;
    再把结果和第4个元素计算:f(9, 7),结果为16;
    再把结果和第5个元素计算:f(16, 9),结果为25;
    由于没有更多的元素了,计算结束,返回结果25。
    reduce(f, [1, 3, 5, 7, 9], 100)                #100为default value 会增加到结果上去,没有这位None
    结果将变为125,因为第一轮计算是:

    计算初始值和第一个元素:f(100, 1),结果为101。

    #filter用法:

    #删除None或者删除空格
    #str.strip(data),删除str字符串中开头,结尾处data序列字符,
    #data为空默认删除空白符(' ',' ',' ')

    import math
    def is_sqr(x):
      r = int(math.sqrt(x))
      return r*r==x
    print (filter(is_sqr, range(1, 101)))

  • 相关阅读:
    https://www.cnblogs.com/marost/p/4668664.html
    UEFI 坑 Ubuntu
    Spring《六》管理Bean
    Spring《五》集合的注入方式
    Spring《四-一》解决自动装配的问题
    spring《四》自动装配
    Spring《三》ref 引用其他bean
    Spring《二》 Bean的生命周期
    Spring《一》
    Fragment间相互调用并传值
  • 原文地址:https://www.cnblogs.com/liuruoqian/p/11309435.html
Copyright © 2011-2022 走看看