美文网首页
Python:内置高阶函数

Python:内置高阶函数

作者: 学习python中 | 来源:发表于2020-02-22 23:30 被阅读0次

高阶函数:

变量可以指向函数,函数参数可以传变量,所以一个函数可以调用另一个函数作为参数,这种函数称之为高阶函数


sorted

见 sort 与 sorted一文:https://www.jianshu.com/writer#/notebooks/14787822/notes/60918094


map

map接收两个参数,一个函数,一个可迭代对象,并把函数作用于可迭代对象的每一个元素,并把结果作为新的迭代器返回(python2.x 返回列表,python3.x返回迭代器)

举例1:将列表的每个元素求平方

li = [1,2,3,4,5,6,7,8]

li_res =map(lambda x:x*x,li)

print(list(li_res))

输出:[1, 4, 9, 16, 25, 36, 49, 64]

举例2:将列表的每个数字转化为字符串

int_list = [1,2,3,4,5,6,7,8]

str_list =map(str,int_list)

print(list(str_list))

输出:['1', '2', '3', '4', '5', '6', '7', '8']


reduce

在python3中,reduce已经不算高阶函数,被放在functools包中:from functools import reduce

作用是:将一个函数作用于一个序列上,这个函数必须接收两个参数,reduce将结果继续和下一个元素做计算,返回的是一个value

举例1:对一个序列求和

from functoolsimport reduce

li = [1,2,3,4,5,6]

li_res = reduce(lambda x,y:x+y,li)

print(li_res)

输出:21

举例2:将一个序列转化为一个整数

from functoolsimport reduce

li = [1,2,3,4,5]

li_res = reduce(lambda x,y:str(x)+str(y),li)

print(int(li_res))

或者

from functoolsimport reduce

li = [1,2,3,4,5]

def f(x,y):

return 10*x+y

li_res = reduce(f,li)

print(li_res)

输出都是12345


filter

与map类似,接收一个函数和一个可迭代对象,不同的是filter将函数作用于每个item,根据返回的结果是True还是False决定是否保留还是丢弃

举例1:删除偶数,保留奇数

li = [1,2,3,4,5,6]

li_res =filter(lambda x:x%2==0, li)

print(list(li_res))

输出[1, 3, 5]

相关文章

  • 【Python】-014-函数-函数式编程-2

    python内置高阶函数 Filter函数filter(function, sequence) -> list, ...

  • python高阶函数

    python 内置高阶函数 映射函数 MAP()过滤函数 filter()规约函数 reduce() pytho...

  • python——list(map())函数的用法

    版本:python3.7 map()函数## map()是 Python 内置的高阶函数,它接收一个函数 f 和一...

  • Python 高阶函数与匿名函数

    高阶函数 1.map函数 map()是 Python 内置的高阶函数,它接收一个函数 f和一个list,并通过把函...

  • 高级语法

    高阶函数:以其他函数作为其参数或者返回值的函数。跟JS一样,python提供了部分内置高阶函数 匿名函数:pyth...

  • python

    python小工具 filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个...

  • Python:内置高阶函数

    高阶函数: 变量可以指向函数,函数参数可以传变量,所以一个函数可以调用另一个函数作为参数,这种函数称之为高阶函数 ...

  • 5-python中reduce()函数

    reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数...

  • python题目

    1.简述map,reduce两个内置函数的作用map()函数是python内置的高阶函数,它要接收一个函数f和一个...

  • sorted

    Python内置的sorted()函数就可以对list进行排序: 此外,sorted()函数也是一个高阶函数,它还...

网友评论

      本文标题:Python:内置高阶函数

      本文链接:https://www.haomeiwen.com/subject/rctrqhtx.html