python中几个常用函数的正确用法-lambda/filter/map/reduce
作者:小小程序员ol 发布时间:2022-02-17 14:52:45
标签:python,lambda,filter,map,reduce
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


猜你喜欢
- 1、在模块中,我们需要判断__name__是否被赋值为“__main__”。python fibo.py <arguments>
- 环境:Ubuntu16.4 python版本:3.6.4 库:wordcloud这次我们要讲的是爬取QQ音乐的评论并制成云词图,我们这里拿周
- 有时候,我们需要检测一个元素是否已经存在列表中,并且不区分大小写,如:列表已有元素Mary,那我们想认为MARY也已经被占用。这个例子在实际
- 本文实例为大家分享了js实现全选取消效果的具体代码,供大家参考,具体内容如下<!DOCTYPE html><html la
- 调用tf.reset_default_graph()重置计算图当在搭建网络查看计算图时,如果重复运行程序会导致重定义报错。为了可以在同一个线
- DB2 存储过程:基础知识您在客户端工作站上对远程服务器和位于该服务器上的数据库进行分类的任何时候,都存在一个简单的 DB2 客户端/服务器
- 单下划线单下划线用作变量最常见的一种使用场景是作为变量占位符,使用场景明显可以减少代码中多余变量的使用。为了方便理解,_可以看作被丢弃的变量
- 在Python类中规定,函数的第一个参数是实例对象本身,并且约定俗成,把其名字写为self。其作用相当于java中的this,表示当前类的对
- 前提环境准备python3+pillow+pyautogui先提前安装好python3以及pillow和pyautogui模块这里介绍一下模
- 每个存储过程都有默认的返回值,默认值为0。下面我们分别看看在management studio中如何查看输出参数,返回值以及结果集,然后我们
- 如下所示: out = subprocess.getstatusoutput('adb shell pm
- 在本机运行含有JavaScript代码的网页时(比如Google AD代码),IE浏览器会产生一个警告。这个“警告”确实很烦人,开始时还会误
- 回车和换行的历史:机械打字机有回车和换行两个键作用分别是:换行就是把滚筒卷一格,不改变水平位置。 (即移到下一行,但不是行首,而是和上一行水
- 工作中会遇到这样的需求,有多个Excel的格式一样,都有多个sheet,且每个sheet的名字和格式一样,我们需要按照sheet 合并,就是
- 唉,可怜呀,用了这么久的SQL今天头一次用到外连接,效果不错,方法如下: 使用外联接 仅当至少有一个同属于两表的行符合联接条件时,内联接才返
- 在MAC/LINUX环境下,执行vi hello.py命令,并输入以下代码import webimport sysurls = ("
- 先让我们看一个例子,了解什么是模式化窗口。以下是QQ秀商城在非登录时提示登录的一种状态。当我在非登录状态,通过保存形象的方式买一件衣服时,弹
- 先看看效果图:简单的分页js代码:1、效果描述: 不用分页即可显示的jQuery插件 jQuery分页插件——jQu
- Goland 项目创建goland2020.3 及以上 IDE,默认创建的 go 项目 就是使用 gomod 管理!goland2020.3
- 多继承以及MRO顺序1. 单独调用父类的方法# coding=utf-8print("******多继承使用类名.__init__