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

    高阶函数:简单来讲,一个函数可以接收另一个函数来作为参数,这样的函数称之为高阶函数

    • map函数 会根据提供的函数对指定序列做映射,也就是说将函数作用在指定序列

    语法为

    map(function,interable...)

     1 #使用map函数来将列表中的数值进行翻倍
     2 numberList = [number for number in range(0,11)]
     3 def multiply(number):
     4         return number *2
     5 numberProcessList = list(map(multiply,numberList))
     6 print(numberProcessList)
     7 
     8 #使用map函数与匿名函数结合使列表数值翻倍
     9 numberProcessList = list(map(lambda number:number *2,numberList))
    10 print(numberProcessList)
    • filter函数  用来过滤序列的元素,该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中

    语法为

    filter(function,interable)

    1 #使用filter函数对列表进行奇数过滤
    2 def isOdd(number):
    3     return number % 2 == 1
    4 numberProcess = list(filter(isOdd,numberList))
    5 print(numberProcess)
    6 
    7 #使用filter与匿名函数对列表进行奇数过滤
    8 numberProcess = list(filter(lambda number:number % 2 == 1,numberList))
    9 print(numberProcess)
    • reduce 函数  用来将指定序列的元素进行累积,先将序列的前两个元素进行function运算,然后在与第三个元素运算,以此类推。

    语法为

    reduce(function,interable)

     1 from functools import reduce #调用functools库中的reduce
     2 def add(numberOne,numberTwo):
     3     return numberOne + numberTwo
     4 def multiply(numberOne,numberTwo):
     5     return numberOne*numberTwo
     6 numberList = [number for number in range(1,6)]
     7 numberAdd = reduce(add,numberList)
     8 print(numberAdd)
     9 numberMul = reduce(multiply,numberList)
    10 print(numberMul)
    • sorted 函数  用来给序列进行排序

    语法为

    sorted(interable,key = function|reverse = False|True)

    key 用来接收一个比较函数,从而以这个函数进行排序

     1 #使用sorted函数的典型用法
     2 numbers = [3,4,6,1,-6,63,-45]
     3 numbersSorted = sorted(numbers)
     4 print(numbersSorted)
     5 numbersSorted = sorted(numbers,reverse = True)
     6 print(numbersSorted)
     7 
     8 #使用sorted函数对字符串排序
     9 strings = ['cake','apple','Good','book','test','Air']
    10 stringsSorted= sorted(strings)
    11 print(stringsSorted)
    12 stringsSorted= sorted(strings, reverse = True)
    13 print(stringsSorted)
    14 
    15 #使用key参数的sorted函数用法
    16 #sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序
    17 numbers = [3,4,6,1,-6,63,-45]
    18 numbersSorted = sorted(numbers,key=abs)
    19 print(numbersSorted)
    20 numbersSorted = sorted(numbers,key=abs,reverse=True)
    21 print(numbersSorted)
    越努力,越幸运
  • 相关阅读:
    zoj 2316 Matrix Multiplication 解题报告
    BestCoder7 1001 Little Pony and Permutation(hdu 4985) 解题报告
    codeforces 463C. Gargari and Bishops 解题报告
    codeforces 463B Caisa and Pylons 解题报告
    codeforces 463A Caisa and Sugar 解题报告
    CSS3新的字体尺寸单位rem
    CSS中文字体对照表
    引用外部CSS的link和import方式的分析与比较
    CSS样式表引用方式
    10个CSS简写/优化技巧
  • 原文地址:https://www.cnblogs.com/strive99/p/10231953.html
Copyright © 2011-2022 走看看