python中lambda、yield、map、filter、reduce的使用
1、 匿名函数lambda
python中允许使用lambda关键字定义一个匿名函数。所谓的匿名函数就是说使用一次或者几次之后就不再需要的函数,属于“一次性”函数。
#例1:求两数之和
f = lambda x, y: x + y
print(f(5, 1)) #例2:求平方和
print((lambda x, y: x**2 + y**2) (3, 4))
#执行结果
6
25
2、关键字 yield
yield可以将函数执行的中间结果返回但是不结束程序。
yield关键字可以把一个函数变成一个生成器(generator)。
#实现一个range函数。
>>> def fun(x):
... i = 0
... while i<x:
... yield i
... i+=1
...
>>> for i in fun(7):
... print(i)
...
0
1
2
3
4
5
6
#斐波那契数列实现
>>> def fab(x):
... a, b, n = 0, 1, 0
... while n<x:
... a, b = b, a+b
... yield b
... n += 1
...
>>> for i in fab(10):
... print(i)
...
1
2
3
5
8
13
21
34
55
89
3、遍历函数(map)
map函数用于遍历序列。
>>> def func(a, b):
... return a+b
...
>>> li = [1,2,3,4]
>>> def func(a):
... return a+100
...
>>> print(list(map(func, li)))
[101, 102, 103, 104]
>>> li = [1,2,3,4]
>>> print(list(map(lambda x: x**2, li)))
[1, 4, 9, 16]
>>> li = [1,2,3,4]
>>> lo = [5,6,7,8]
>>> print(list(map(lambda x, y: x**2 + y**2, li, lo)))
[26, 40, 58, 80]
>>> li = [1,2,3,4,5,6,7,8,9]
>>> print(list(map(lambda x: x > 5, li)))
[False, False, False, False, False, True, True, True, True]
4、筛选函数(filter)
筛选函数用于对序列中的元素进行筛选,最终获取符合条件的序列。
>>> li = [1,2,3,4,5,6,7,8,9]
>>> print(list(filter(lambda x: x>5, li)))
[6, 7, 8, 9]
5、累计函数(reduce)
对序列中的所有函数进行类操作。
>>> from functools import reduce
>>> li = [1,2,3,4,5]
>>> reduce(lambda a, b: a+b, li)
15
#第三个参数为初始值,在此值之上进行累计
>>> reduce(lambda a, b: a+b, li, 100)
115
>>>
python中lambda、yield、map、filter、reduce的使用的更多相关文章
- python 内置函数 map filter reduce lambda
map(函数名,可遍历迭代的对象) # 列组元素全加 10 # map(需要做什么的函数,遍历迭代对象)函数 map()遍历序列得到一个列表,列表的序号和个数和原来一样 l = [2,3,4,5,6, ...
- python中lambda以及与filter/map/reduce结合的用法
一.lambda函数即匿名函数,和普通的函数相比,就是省去了函数名称而已: lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边是函数体的返回值 g = lambda x,y : x+y ...
- python lambda表达式&map/filter/reduce
习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: 1 2 3 4 5 6 7 8 # 普通条件语句 if 1 == 1: name = 'wupeiqi' else ...
- python之内置函数:map ,filter ,reduce总结
map函数: #处理序列中的每个元素,得到的结果是一个'列表',该列表元素个数及位置与原来一样 filter函数: #遍历序列中的每个元素,判断每个元素得到一个布尔值,如果是true,则留下来 peo ...
- lambda、map、reduce、filter函数讲解
# coding:utf-8 """ 几个特殊的函数: lambda lambda后面直接跟变量 变量后面是冒号 冒号后面是表达式,表达式计算结果就是本函数的返回值 作用 ...
- python常用函数进阶(2)之map,filter,reduce,zip
Basic Python : Map, Filter, Reduce, Zip 1-Map() 1.1 Syntax # fun : a function applying to the iterab ...
- Python中lambda表达式的应用
lambda表达式 Python中定义了一个匿名函数叫做lambda表达式,个人理解实现的作用就是代替一些简单的函数,使得代码看上去更简洁并且可读性高.举个例子,我们有一个元组列表[(‘a’,1),( ...
- 如何在python3.3用 map filter reduce
在3.3里,如果直接使用map(), filter(), reduce(), 会出现 >>> def f(x): return x % 2 != 0 and x % 3 != 0 ...
- 14.在Python中lambda函数是什么
在Python中lambda函数是什么? It is a single expression anoymous function often used as inline function. lamb ...
- 数组的高阶方法map filter reduce的使用
数组中常用的高阶方法: foreach map filter reduce some every 在这些方法中都是对数组中每一个元素进行遍历操作,只有foreach是没有 ...
随机推荐
- 搜索Ex (洛谷提高历练地)
搜索Ex P1120 小木棍 题意:不超过65根长度小于50的小木棍(是由一批等长木棍砍断得到的),求原始木棍的最小可能长度 分析:优化+减枝爆搜 搜索状态要记录当前尝试的已经填好的长度,当前尝试填的 ...
- Educational Codeforces Round 84 (Div. 2)
Educational Codeforces Round 84 (Div. 2) 读题读题读题+脑筋急转弯 = =. A. Sum of Odd Integers 奇奇为奇,奇偶为偶,所以n,k奇偶性 ...
- CodeForces 893C (并查集板子题)
刷题刷到自闭,写个博客放松一下 题意:n个人,m对朋友,每寻找一个人传播消息需要花费相应的价钱,朋友之间传播消息不需要花钱,问最小的花费 把是朋友的归到一起,求朋友中花钱最少的,将所有最少的加起来. ...
- hdu 3549Flow Problem
Problem Description Network flow is a well-known difficult problem for ACMers. Given a graph, your t ...
- Long Long Message POJ - 2774 后缀数组
The little cat is majoring in physics in the capital of Byterland. A piece of sad news comes to him ...
- 【.NET 与树莓派】让喇叭播放音乐
如果你和老周一样,小时候特别喜欢搞破坏(什么电器都敢拆),那下面这样小喇叭你一定见过. 这种喇叭其实以前很多录音机都用,包括上小学时买来做英语听力的便携录音机.嗯,就是放录音带的那种,录音带也叫磁带或 ...
- ASP.NET Core 中间件(Middleware)(一)
本文主要目标:记录Middleware的运行原理流程,并绘制流程图. 目录结构: 1.运行环境 2.Demo实践 3.源码追踪 4.AspnetCore内置middleware 一.运行环境 Visu ...
- H5 页面如何展示大量的表格数据
H5 页面如何展示大量的表格数据 列数过多 图表化 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
- HHVM的全称是"HipHop for PHP",开放源代码。采用PHP许可证授权!
http://hhvm.com/ https://github.com/xgqfrms/hhvm 什么是HHVM高性能服务器? HHVM是由Facebook公司出品的高性能开源服务器,用来执行hack ...
- SwiftUI error All In One
SwiftUI error All In One Instance member xxx cannot be used on type yyy Instance member 'game' canno ...