zoukankan      html  css  js  c++  java
  • 四大高阶函数

    1. 匿名函数
      1 def name(a,b):
      2     return a+b
      3 f=lambda a,b:a+b
      4 print(f(15,15))
    2. map函数
      第一个参数接收一个函数名,第二个参数接收一个可迭代对象,利用map,lambda表达式将所有偶数元素加100
      1 def fun(a,b):
      2     return a+b
      3 
      4 ret=map(fun,[1,2,3],[4,5,6])
      5 
      6 print(list(ret))
    3. sorted函数
    4. """sorted排序(由负及正)"""
      list=[1,2,3,4,0,-1,-2,-3]
      
      print(sorted(list,key=lambda x:x))
      
      """sorted排序(绝对值)"""
      list=[1,2,3,4,0,-1,-2,-3]
      
      print(sorted(list,key=abs))

      sorted() 函数对所有可迭代的对象进行排序操作。
      sort 与 sorted 区别:
      sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
      list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

      sorted 语法:
      sorted(iterable[, cmp[, key[, reverse]]])

      参数说明:
      iterable -- 可迭代对象。
      cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
      key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
      reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

      reduce函数

       1 """reduce()函数(最好用来求总和总乘)"""
       2 from functools import reduce
       3 def fun(a,b):
       4     return a+b
       5 ret=reduce(fun,[x for x in range(1,101)])
       6 print(ret)#1到100的总和为5050
       7 ret=reduce(fun,[x for x in range(1,101)ifx%2==0])
       8 print(ret)#1到100的偶数总和为2550
       9 ret=reduce(fun,[x for x in range(1,101)ifx%2==1])
      10 print(ret)#1到100的奇数总和为2500
    5. filter函数
      1 """filter()函数(能够去出符合条件的元素)"""
      2 def fun(a):
      3     return a%2==0
      4 ret=filter(fun,range(1,101))
      5 for x in ret:
      6     print(x)
      • filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。
      • 最终一次性返回过滤后的结果。
      • filter()函数有两个参数:
        • 第一个,自定函数名,必须的
        • 第二个,需要过滤的列,也是必须的
  • 相关阅读:
    安装PetShop后调试的诸多问题
    初学FF(火狐)的扩展(Extensions)
    发现JavaScript中Number的toFixed()四舍五入时的一个问题,请教大虾!(原来是浏览器问题)
    PHP哪用手工配置啊。。。哎。。真是的。
    新鸟文章:foreach里的Sqlcommand(有SqlTransaction)
    说下按位异或(^)和按位与(&)的一点知识(没技术含量的)
    How browers work?
    开篇:希望结交各位,共同学习进步!
    第01章 基础知识
    20060818网摘
  • 原文地址:https://www.cnblogs.com/errenjune/p/12482654.html
Copyright © 2011-2022 走看看