美文网首页
python中的高阶函数

python中的高阶函数

作者: 八步里 | 来源:发表于2021-04-19 10:36 被阅读0次

高阶函数:高阶函数是指包含函数参数的函数,在函数中利用另一个函数进行操作。本文将分别介绍map、reduce、filter、sorted四个高阶函数。

1. map

map()函数接受一个函数和一个可迭代对象,并将函数陆续作用到可迭代对象的每一个元素上,并将所有结果整合成新的迭代器返回

mapResult = map(str,[1,2,3,4])
print(type(mapResult))
mapString = list(mapResult)
print(mapString)

from collections.abc import Iterator
isinstance(mapResult,Iterator)

结果:

><class 'map'>
>['1', '2', '3', '4']
>True

2.reduce

reduce函数同样也是传入一个函数和一个可迭代对象,每次传入函数需要两个对象陆续将可迭代对象中的元素传入操作后的结果将充当一个参数,从可迭代对象中再选出一个参数一起发起一次新的调用。

# 效果便是:reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
from functools import reduce
reduceString = reduce(lambda x,y:x + y,mapString)
print(reduceString)

3.filter

内嵌函数filter同样是传入一个函数和一个可迭代对象,filter函数将把传入的函数依次作用于每一个元素产生True或False的返回值在决定是否保留该元素,生成一个迭代器。

print(list(filter(lambda x:x % 2 == 1,[1,2,3,4,5,6,7,8])))

结果是:

[1, 3, 5, 7]

4.sorted

sorted函数接收可迭代对象按照每个元素在字符集中的位置进行排序,可以通过制定key相关函数对所有元素进行初级操作,再将操作后的结果进行排序,按照顺序给对应原始数据进行编排。

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
def by_name(t):
    return t[:][1]
print(by_name(L))
L2 = sorted(L, key=by_name,reverse=True)
print(L2)
sorted(L)

sorted([36, 5, -12, 9, -21], key=abs)
# 若希望进行反向排序可以用设定第三个参数reverse=True(默认False)

结果是:

>('Adam', 92)
>[('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]
>[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
>[5, 9, -12, -21, 36]

相关文章

  • Python高阶函数学习笔记

    python中的高阶函数是指能够接收函数作为参数的函数 python中map()函数map()是 Python 内...

  • filter函数有点意思

    filter函数 filter(function, iterable)filter函数是python中的高阶函数,...

  • 装饰器随笔

    高阶函数:在python中我们可以把函数视作变量去调用。而这种调用别的函数的函数就称为高阶函数。 装饰器:在代码运...

  • python装饰器

    装饰器简述 要理解装饰器需要知道Python高阶函数和python闭包,Python高阶函数可以接受函数作为参数,...

  • Python高阶函数

    本文要点 1.什么是高阶函数 2.python中有哪些常用的高阶函数 什么是高阶函数? 在了解什么是高阶函数之前,...

  • 每周一个 Python 模块 | functools

    functools 是 Python 中很简单但也很重要的模块,主要是一些 Python 高阶函数相关的函数。 该...

  • Python functools 模块

    functools 是 Python 中很简单但也很重要的模块,主要是一些 Python 高阶函数相关的函数。 该...

  • wangyanhua--python2

    基本函数的使用 匿名函数 常用系统高阶函数 高阶函数 常用系统高阶函数 Python递归 安装第三方库 三国小说人...

  • python学习心得

    慕课网学习过程中,发现了很多有意思的高阶函数: reduce()函数也是Python内置的一个高阶函数。reduc...

  • Python函数式介绍一 - 高阶函数

    Python函数式介绍一 - 高阶函数Python函数式介绍二 - 链式调用 最近为了给朋友推广Python函数式...

网友评论

      本文标题:python中的高阶函数

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