python中几个常用函数的正确用法-lambda/filter/map/reduce

作者:小小程序员ol 时间:2022-02-17 14:52:45 

lambda/filter/map/reduce这几个函数面试中很肯定会用到,本篇主要介绍这几个函数的用法。

1 lambda

匿名函数,用法如下:


# lambada 参数,参数,参数 : 返回的表达式

示例1:


f = lambda x, y: x * y
print(f(2, 3))    # 6

示例2:


r = (lambda x, y: x+y)(1, 2)
print(r)          # 3

2 filter

filter(function, sequence):sequence中的item依次执行function(item) ,将执行结果为 True item组成一个filter对象(可迭代)(取决于sequence的类型)返回。

示例:


'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def gt_5(x):
   return x > 5

r = filter(gt_5, range(10))
print(list(r))      # [6, 7, 8, 9]

3 map

map(function, sequence):sequence中的item依次执行function(item) ,见执行结果组成一个map对象(可迭代)返回。

示例:


def mysum(x, y):
   return x + y

r = map(mysum, range(5), range(5, 10))
print(list(r))      # [5, 7, 9, 11, 13]

4 reduce

python3中,reduce已经从全局名称空间里移除,需要从functiontools中导入。

reduce(function, sequence, starting_value):sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值。

示例:


'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def mysum(x, y):
   return x + y

from functools import reduce
r = reduce(mysum, range(10))
print(r)     # 45

5 联合使用

示例:计算1!+2!+...+10!


def factorial(n):
   if n == 1:
       return 1
   return n*factorial(n-1)
r = reduce(lambda x, y: x + y, map(factorial, range(1, 11)))
print(r)    # 4037913

这就是几个函数的用法了,是不是很简单呢?

来源:https://www.cnblogs.com/python960410445/p/15382781.html

标签:python,lambda,filter,map,reduce
0
投稿

猜你喜欢

  • Python用正则表达式实现爬取古诗文网站信息

    2021-08-30 07:12:51
  • 网页打开速度的心理学

    2009-03-26 13:18:00
  • python实现邮件自动发送

    2023-06-10 16:24:44
  • 使用Microsoft SQL Server 2000全文搜索功能构建Web搜索应用程序

    2008-09-29 12:32:00
  • Python魔法方法 容器部方法详解

    2021-02-05 19:25:43
  • Django restful framework生成API文档过程详解

    2021-08-10 16:37:16
  • 用CSS定义 li 样式

    2007-09-28 20:56:00
  • 使用wxpy实现自动发送微信消息功能

    2022-04-01 21:16:06
  • Vue 项目中遇到的跨域问题及解决方法(后台php)

    2023-11-16 09:14:13
  • 随Linux开机自动启动mysql

    2009-12-29 10:14:00
  • ASP下批量删除数据的两种方法

    2011-02-05 11:01:00
  • Python3 assert断言实现原理解析

    2023-06-11 20:39:33
  • Python常用正则表达式符号浅析

    2022-03-25 08:08:36
  • Python对多个sheet表进行整合实例讲解

    2021-01-15 06:18:24
  • 在Python的一段程序中如何使用多次事件循环详解

    2023-04-08 03:33:28
  • 微信跳一跳小游戏python脚本

    2023-07-06 10:15:15
  • PyTorch中关于tensor.repeat()的使用

    2023-06-26 07:13:35
  • Python开发之QT解决无边框界面拖动卡屏问题(附带源码)

    2023-10-31 09:31:29
  • 自定义asp错误信息的显示

    2007-09-13 12:33:00
  • Python实现图片格式转换

    2023-08-03 04:58:57
  • asp之家 网络编程 m.aspxhome.com