Python【外】第一节 map()和匿名函数的配合使用

###map()函数
map函数使用语法如下:`map(fun, iterable, ...)`
功能: map() 会根据提供的函数fun对指定序列iterable,...做映射。
具体实现方式: 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回每次调用之后产生的结果形成的序列。
举例
```python
def add_cu(xx, yy):
xx + yy
if __name__ == "__main__":
aa = [1,2,3,4]
bb = [1,2,3,4]
res = map(add_cu, aa, bb)
```
上述返回的结果就[2, 4, 6, 8]
需要注意的是
* 在python2中, map()会直接返回一个列表。
* 在python3中, map()返回的是列表对应的iterator,因此要得到列表内的具体的值, 需要在iterator外面套一层list()

lambda

lambda使用语法如下: lambda x, y,..., z: 表达式

说明: lambda后面的x,y,...,z是函数的参数, 后面的表达式是前面参数的相互的作用。

实际举例如下: 可以看到, 是可以给lambda指定一个函数名,调用方式和普通的函数是一致的。

fu = lambda x,y: x + y
res = fu(2,3)
print(res) #结果为5

map() 和 lambda的结合

map()的第一个参数是一个函数映射, 可以通过lambda表达式直接给定,也可以通过函数def的方式给出函数名字。具体操作如下:

def add_cu(xx, yy):
return xx + yy if __name__ == "__main__":
aa = [1,2,3,4]
bb = [1,2,3,4]
fu = lambda x,y: x + y
res1 = map(lambda x,y: x + y, aa, bb)
res2 = map(fu, aa, bb)
res3 = map(add_cu, aa, bb)
print(list(res1))
print(list(res2))
print(list(res3))

Python【外】第一节 map()和匿名函数的配合使用的更多相关文章

  1. 第一百一十节,JavaScript匿名函数和闭包

    JavaScript匿名函数和闭包 学习要点: 1.匿名函数 2.闭包 匿名函数就是没有名字的函数,闭包是可访问一个函数作用域里变量的函数.声明:本节内容需要有面向对象和少量设计模式基础,否则无法听懂 ...

  2. python基础之函数式编程、匿名函数、内置函数

    一 函数式编程 不修改外部状态. 模仿数学里得函数进行编程. 用函数编程写出得代码相当精简. 可读性比较差. 例子: y=2*x+1 x=1 def test(x): return 2*x+1 tes ...

  3. Python学习笔记(十)匿名函数

    摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431843456 ...

  4. Python 之父为什么嫌弃 lambda 匿名函数?

    Python 支持 lambda 匿名函数,其扩展的 BNF 表示法是lambda_expr ::= "lambda" [parameter_list] ":" ...

  5. Python基础-列表推导式、匿名函数、os/sys/time/datetime/pymysql/xlwt/hashlib模块

    列表推导式 [表达式 for 变量 in range(n) if 条件]  等效于 for 变量 in in range(n): if 条件: 表达式 优点:书写方便,缺点:不易读 注意:用的是方括号 ...

  6. Python之filter、map、reduce函数

    简介三函数: 高阶函数:一个函数可以接收另一个函数作为参数,这种函数称之为高阶函数. filter.map.reduce三个函数都是高阶函数,且语法都一致:filter/map/reduce(func ...

  7. Python的filter与map内置函数

    简单的记录下这两个函数的功能: list(filter(lambda x : x % 2, range(10))) 上例是返回了0-10之间的所有基数组成的列表.filter()有2个参数,第一个参数 ...

  8. python做中学(八)匿名函数lambda的用法

    匿名函数,顾名思义即没有名称的函数,和def定义的函数的最大区别在于匿名函数创建后返回函数本身(即匿名函数不需要return来返回值),表达式本身结果就是返回值,而def创建后则赋值给一个变量名,在P ...

  9. python名词解释(生成器,匿名函数)

    1.生成器:能够保持状态的迭代器,下次进去还是之前出来的状态 http://www.oschina.net/translate/improve-your-python-yield-and-genera ...

随机推荐

  1. Python中sys模块

    Python的sys模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数.通俗来讲,sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python运行时的环境. ...

  2. CopyOnWriteArrayList(复制数组 去实现)

    一.Vector和SynchronizedList 1.1回顾线程安全的Vector和SynchronizedList 我们知道ArrayList是用于替代Vector的,Vector是线程安全的容器 ...

  3. LLppdd likes strings

    LLppdd's likes strings! Time Limit: 1 s Memory Limit: 256 MB 题目背景 LLppdd 由于实在是太弱了,在 \(ION 2018\) 模拟十 ...

  4. 源码包安装Mysql

    特殊原因我需要装在个人用户下 libtool-2.4.2.tar.xz mysql-5.1.37.tar.gz     1.解压libtool-2.4.2.tar.xz tar -xvf libtoo ...

  5. 【知识强化】第四章 网络层 4.7 IP组播

    这节课我们来学习一下IP组播. 首先我们来看这样一个问题,IP数据报在网络当中传输的时候,有几种传输方式呢?三种,分别是单播.广播和组播(多播).这个组播呢也叫做多播,它们俩是一个意思.那这个组播是由 ...

  6. @ResponseEntity返回值(怪异)

    定制相应头 /** * 将返回数据放在响应体中 * * ResponseEntity<String>:响应体中内容的类型 * @return */ //@ResponseBody @Req ...

  7. linux su su-的区别

    su只是切换用户. su - 切换用户并切换shell环境. su another pwd后为/home/current su - another pwd后为/home/another

  8. 文本处理工具——sed进阶

    一sed的搜索替代 (一)常见的和替代相关的选项 搜索替代,和vim的写法很像 s///:查找替换,支持使用其它分隔符,s@@@,s### p: 显示替换成功的行,就是打印. w /PATH/TO/S ...

  9. Mybatis基于接口注解配置SQL映射器(一)

    上文已经讲解了基于XML配置的SQL映射器,在XML配置的基础上MyBatis提供了简单的Java注解,使得我们可以不配置XML格式的Mapper文件,也能方便的编写简单的数据库操作代码. Mybat ...

  10. 解决handsontable日期控件汉化的问题

    在项目的 node_modules\pikaday目录下打开 pikaday.js 把 i18n: { previousMonth : 'Previous Month', nextMonth : 'N ...