lambda

定义

一个匿名函数,见下面

格式以及使用方法:

lambda x(传入的参数):要执行的语句(这条语句执行完之后,就会返回一个值,也就是函数的返回值)
例:
lambda x:x+2
上面那条语句就相当于定义了一个函数,但是怎么用这个函数呢?
可以写f=lambda x:x+2
f(3)
到最后会输出9
其中 x就相当于传入的参数,x+2也就是我们要执行的语句
实际上就相当于
def f(x):
   return x+2

高级用法(和for与map连用):

与for连用:

以下是几种错误的例子:
①f=lambda x:x*i for i in range(4)
②f=lambda x:’’.append(i) for i in x.split(’ ‘)
③f=’’.join([lambda x:i for i in x.split(’ ‘)])
④f=lambda x:’’.append(i) for i in range(4)

这是令我误入歧途,但实际上正确的一个例子
f = [lambda x:x*i for i in range(4)]

对错误例子的分析

①f=lambda x:xi for i in range(4)
一定要注意!!!! m for m in xxxxx是python中for的高级用法,
他 只能,也必须返回一个列表!!!!!!!而且每一个m不能来进行其他“不能返回一个元素(装到列表里)”的操作
也就是说,他不能这样写(假设现在有a_dict={1:5,0:7}):
[a_dict[m]=1 for m in range(2)] (这样写会报 invalid syntax错)
但是可以[a_dict[m] for m in range(2)]这样写
这是因为 a_dict[m]=1,这么写没有返回值,但是如果写a_dict[m],那么对于每一个m,a_dict[m]都会返回一个值,比如m=1,那a_dict[m]=5,这个是可以装到列表里的

现在回来看一下f=lambda x:xi for i in range(4) ,其实xi for i in range(4)这么写是没有错的,错误的是 for的高级用法返回的是一个列表,必须用一个[]给他套起来
也就是必须写成 f=lambda x:[x
i for i in range(4)]

②和③
其实都犯了一个错误 就是[]没套上,或者套错了地方
②和④ 当时我是咋想的呢,我估计以为 ‘’ 这个能使一个全局的东西了吧(说不清楚)
③呢是因为 []套错地方了
也就是f=’’.join([lambda x:i for i in x.split(’ ‘)])
应该把那个[放到右边去 也就是
f=’’.join(lambda x:[i for i in x.split(’ ‘)]),这样就对了,
因为!!!是lambda x:的里面才是返回值,而不是lambda x:i for i in x.split(’ ')是个返回值

正确例子:

a=prefix_title.applymap(lambda x:’’.join([str(word_id_dict[y])+’ ’ for y in x.split(’ ')]))
我想让句子中的单词都映射成对应的编号
比如 我 是 你 爸爸
可以编码成 0 2 1 3
我的思路是将矩阵中每一个位置的元素(也就是每一个句子)取出来
然后 按空格分成一个数组,对数组中每一个元素进行遍历,映射为一个个数字
然后把这些数字直接拼成一个字符串(用join函数就行)

与map连用(以后更新)

lambda函数(配合map函数)以及[x for x in]的超详细解释(实例+原理)相关推荐

  1. Python day10 global关键字、函数递归、匿名函数、map函数的用法详解

    1.global关键字 引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name name='littlepage'def littepage():global ...

  2. 一篇文章对Python匿名函数配合容器函数的使用理解

    匿名函数配合容器函数的使用(了解) 1.匿名函数配合列表对象使用 lt=[lambda x:x**2,lambda x:x**3,lambda x:x**4]for i in lt:print(i(2 ...

  3. pandas使用stack函数、map函数、unstack函数以及字典同时替换dataframe多个数据列的内容

    pandas使用stack函数.map函数.unstack函数以及字典同时替换dataframe多个数据列的内容 目录 pandas使用stack函数

  4. reactjs通过lazy函数配合import函数动态加载路由组件

    路由组件的lazyLoad //1.通过React的lazy函数配合import()函数动态加载路由组件 ===> 路由组件代码会被分开打包const Login = lazy(()=>i ...

  5. Python二维列表排序之lambda,sorted,filter,map函数

    目录 一,总览 二,示例 示例1 lambda x:x[0]: 示例2 lambda x:(abs(x),x): 示例3 filter(lambda x:(x%2 == 1),L)  map(lamb ...

  6. python map zip_python中的zip()函数和map()函数

    一.zip()函数 1.语法: zip(iterable, ...) 参数说明: iterable,...-- 一个或多个迭代器; 在python2中: zip() 函数用于将可迭代的对象作为参数,将 ...

  7. python中的zip()函数和map()函数

    一.zip()函数 1.语法: zip(iterable, ...) 参数说明: iterable,--- 一个或多个迭代器; 在python3中: zip() 函数用于将可迭代的对象作为参数,将对象 ...

  8. python之eval函数,map函数,zip函数

    eval(str)函数很强大,官方解释为:将字符串str当成有效的表达式来求值并返回计算结果.所以,结合math当成一个计算器很好用. eval()函数常见作用有: 1.计算字符串中有效的表达式,并返 ...

  9. 常用函数之map函数

    map函数 map函数作用: 根据提供的函数对指定的序列做映射.通俗地讲就是以参数序列中的每个元素分别调用参数中的函数(func()),把每次调用后返回的结果保存到返回值中 map函数定义格式如下: ...

  10. c语言 map 构造函数,map函数,map函数的作用

    map不是函数,是一个对象 可以Mapmap=newHashMap();创建 Map就是键值对, map.put("1","123"); map.put(&qu ...

最新文章

  1. R语言使用vcd包的spine函数可视化spinogram图(spinogram图是被归一化的堆叠条形图、这样每个条形的高度一样、内部显示不同分布的比例)
  2. word标题自动编号
  3. ‘聪明的搜索算法’ A*算法
  4. 前端 input怎么显示null_小猿圈WEB前端之HTML5+CSS3面试题(一)
  5. echart关系树状图_Echarts关系图-力引导布局
  6. 程序员开发软件的意义到底在哪?
  7. Qt5类之QLine and QLineF
  8. 地图距离算法_基于权重的地图匹配技术
  9. Git 基础 —— 配置与日志信息
  10. 2021年SWPUACM暑假集训day5单调栈算法
  11. texstudio 使用方法_TeXstudio怎么使用,TeXstudio使用教程解析
  12. C#学习网站资源一览
  13. 苹果手机5s无需越狱免流_苹果越狱手机端自签名插件
  14. 数据库查询优化-添加索引
  15. 【labelme软件】使用指南
  16. 张朝阳5G寻路与搜狐奇兵
  17. BOOTROM的理解
  18. Love Letter
  19. 上传文件的几种主要方法。
  20. 微信8.0状态背景视频合集

热门文章

  1. 人,总要敢于直面自己的惨淡,才能挺直腰杆
  2. 代码审查工具 rietveld的安装与使用(二)
  3. 铁路、公路施工企业劳务实名制管理系统解决方案
  4. 我要多开梦幻手游PC端(梦幻手游PC端多开的简单分析及实现办法)(二)
  5. SQL数据分析-淘宝用户行为
  6. 数据分析3_淘宝用户行为分析_阿里云天池
  7. 仿生机制算法——细胞吸引子模型(附Matlab代码)
  8. mysql数据,中国最新行政区划数据,到乡村共5级
  9. 快排的单指针扫描和双指针扫描
  10. PPT插入文本框的方法技巧