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的使用的更多相关文章

  1. python 内置函数 map filter reduce lambda

    map(函数名,可遍历迭代的对象) # 列组元素全加 10 # map(需要做什么的函数,遍历迭代对象)函数 map()遍历序列得到一个列表,列表的序号和个数和原来一样 l = [2,3,4,5,6, ...

  2. python中lambda以及与filter/map/reduce结合的用法

    一.lambda函数即匿名函数,和普通的函数相比,就是省去了函数名称而已: lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边是函数体的返回值 g = lambda x,y : x+y ...

  3. python lambda表达式&map/filter/reduce

    习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: 1 2 3 4 5 6 7 8 # 普通条件语句 if 1 == 1:     name = 'wupeiqi' else ...

  4. python之内置函数:map ,filter ,reduce总结

    map函数: #处理序列中的每个元素,得到的结果是一个'列表',该列表元素个数及位置与原来一样 filter函数: #遍历序列中的每个元素,判断每个元素得到一个布尔值,如果是true,则留下来 peo ...

  5. lambda、map、reduce、filter函数讲解

    # coding:utf-8 """ 几个特殊的函数: lambda lambda后面直接跟变量 变量后面是冒号 冒号后面是表达式,表达式计算结果就是本函数的返回值 作用 ...

  6. python常用函数进阶(2)之map,filter,reduce,zip

    Basic Python : Map, Filter, Reduce, Zip 1-Map() 1.1 Syntax # fun : a function applying to the iterab ...

  7. Python中lambda表达式的应用

    lambda表达式 Python中定义了一个匿名函数叫做lambda表达式,个人理解实现的作用就是代替一些简单的函数,使得代码看上去更简洁并且可读性高.举个例子,我们有一个元组列表[(‘a’,1),( ...

  8. 如何在python3.3用 map filter reduce

    在3.3里,如果直接使用map(), filter(), reduce(), 会出现 >>> def f(x): return x % 2 != 0 and x % 3 != 0  ...

  9. 14.在Python中lambda函数是什么

    在Python中lambda函数是什么? It is a single expression anoymous function often used as inline function. lamb ...

  10. 数组的高阶方法map filter reduce的使用

    数组中常用的高阶方法: foreach    map    filter    reduce    some    every 在这些方法中都是对数组中每一个元素进行遍历操作,只有foreach是没有 ...

随机推荐

  1. Codeforces Round #682 (Div. 2)【ABCD】

    比赛链接:https://codeforces.com/contest/1438 A. Specific Tastes of Andre 题意 构造一个任意连续子数组元素之和为子数组长度倍数的数组. ...

  2. P4718 [模板]Pollard-Rho算法

    对一个大质数进行质因数分解 需要引用miller-robin来判素数 一直写的gcd居然挂掉了... 以后用__gcd了 #include <bits/stdc++.h> using na ...

  3. 牛客练习赛70 B.拼凑 (序列自动机)

    题意:有一个模板串,有\(T\)个字符串,从字符串中找到某个子串,使得这个子串中的子序列包含模板串,求最短的子串的长度. 题解:找子序列,很容易想到序列自动机,根据序列自动机的原理,我们一定可以确保除 ...

  4. Codeforces Round #653 (Div. 3) C. Move Brackets

    题意/题解:经典括号匹配题目,不多说了. 代码: int t; int n; string s; int cnt; int main() { ios::sync_with_stdio(false);c ...

  5. linux搭建网站

    CentOS 1.安装 yum -y install nginx *或者安装指定版本,版本网址:http://nginx.org/packages/centos/7/x86_64/RPMS/ rpm ...

  6. 9.PowerShell DSC之Pull

    前言 一般生产环境都使用Pull模式 配置Pull Server 配置Pull Server需要安装两个WindowsFeture:IIS.windows DSC,这两都可以通过UI界面化引导安装,也 ...

  7. docker理论题-02

    1.什么是namespace? 答:名称空间,作用隔离容器 2.namespace隔离有那些? 答:ipc:共享内存.消息队列 mnt:挂载点 net:网络栈 uts:域,主机名 user:用户,组 ...

  8. IP的地址的划分

    IP地址的划分是计算机网络中很重要的一个知识点,曾经考过三级,但是长时间不用就会忘掉,现在重新将IP的地址划分整理一遍. 首先IP地址的编址方法经历了三个阶段:分类的IP地址.子网的划分.构成超网 我 ...

  9. tfrecords转np.array

    import tensorflow as tf import numpy as np from keras.utils import to_categorical import sys def tfr ...

  10. PM2 & nodemon

    PM2 & nodemon node.js server tools PM2 https://pm2.keymetrics.io/ https://pm2.io/ $ yarn global ...