浅析python函数式编程

 更新时间:2020年09月26日 10:15:07   作者:程序猿-悟空  
这篇文章主要介绍了python函数式编程的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下

目录

  • map
  • filter
  • reduce
  • zip
  • sortedmap

map

其中,function 参数表示要传入一个函数,其可以是内置函数、自定义函数或者 lambda 匿名函数;iterable 表示一个或多个可迭代对象,可以是列表、字符串等。
map() 函数的功能是对可迭代对象中的每个元素,都调用指定的函数,并返回一个 map 对象。

listDemo = [1, 2, 3, 4, 5]
new_list = map(lambda x: x * 2, listDemo)
print(list(new_list))

filter

filter() 函数的功能是对 iterable 中的每个元素,都使用 function 函数判断,并返回 True 或者 False,最后将返回 True 的元素组成一个新的可遍历的集合。

listDemo = [1, 2, 3, 4, 5]
new_list = filter(lambda x: x % 2 == 0, listDemo)
print(list(new_list))

reduce

reduce() 函数通常用来对一个集合做一些累积操作,其基本语法格式为:
reduce(function, iterable)

import functools
listDemo = [1, 2, 3, 4, 5]
product = functools.reduce(lambda x, y: x * y, listDemo)
print(product)

zip

>>>a = [1,2,3]
>>>b = [4,5,6]
>>>c = [4,5,6,7,8]
>>>zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>>zip(a,c)     # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>>zip(*zipped)   # 与 zip 相反,可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]

sorted

>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, key=lambda x:x[1])        # 利用key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s: s[2])      # 按年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

以上就是浅析python函数式编程的详细内容,更多关于python函数式编程的资料请关注脚本之家其它相关文章!

相关文章

  • 用Python爬虫破解滑动验证码的案例解析

    用Python爬虫破解滑动验证码的案例解析

    今天分享个如何简单处理滑动图片的验证码的案例,主要是使用Python爬虫破解滑动验证码的相关实现代码,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • Python实现线性判别分析(LDA)的MATLAB方式

    Python实现线性判别分析(LDA)的MATLAB方式

    今天小编大家分享一篇Python实现线性判别分析(LDA)的MATLAB方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python制作动态字符图的实例

    Python制作动态字符图的实例

    今天小编就为大家分享一篇关于Python制作动态字符图的实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • python使用 zip 同时迭代多个序列示例

    python使用 zip 同时迭代多个序列示例

    这篇文章主要介绍了python使用 zip 同时迭代多个序列,结合实例形式分析了Python使用zip遍历迭代长度相等与不等的序列相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • 一篇文章带你深入学习Python函数

    一篇文章带你深入学习Python函数

    这篇文章主要带大家深入学习Python函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Python基于numpy模块实现回归预测

    Python基于numpy模块实现回归预测

    这篇文章主要介绍了Python基于numpy模块实现回归预测,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 对Python中的@classmethod用法详解

    对Python中的@classmethod用法详解

    下面小编就为大家分享一篇对Python中的@classmethod用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python实现的多线程同步与互斥锁功能示例

    Python实现的多线程同步与互斥锁功能示例

    这篇文章主要介绍了Python实现的多线程同步与互斥锁功能,涉及Python多线程及锁机制相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • 一篇文章弄懂Python关键字、标识符和变量

    一篇文章弄懂Python关键字、标识符和变量

    这篇文章主要给大家介绍了关于Python关键字、标识符和变量的相关资料,Python关键词是Python保留的具有特定含义的特殊词语,用于执行某些操作,Python标识符是用户定义的名称,而变量是计算机内存中的一块区域,存储对象的内存地址,以便引用对象的值,需要的朋友可以参考下
    2021-07-07
  • Python中下划线含义详解

    Python中下划线含义详解

    大家好,本篇文章主要讲的是Python中下划线含义详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01

最新评论