lambda x: 3*x+1

怎么用它呢 , 来给它一个名字

g = lambda x:3*x+1

调用一下它

g(2)

如果想有多个input怎么办?

比如说想把 first name 和 last name 合起来 ?

full_name = lambda fn,ln: fn.strip().title()  + " " +ln.srip().title()                     .title()的功能是首字母大写

来调用一下? !  full_name(“   leo”,"adriea ")

那key又是怎么肥事儿?

当待排序列表的元素由多字段构成时,我们可以通过sorted(iterable,key,reverse)的参数key来制定我们根据那个字段对列表元素进行排序。

key=lambda 元素: 元素[字段索引]

例如:想对元素第二个字段排序,则

key=lambda y: y[1]

备注:这里y可以是

任意

字母,等同key=lambda x: x[1]

看几个简单的例子。

listA = [3, 6, 1, 0, 10, 8, 9]

print(sorted(listA))

listB = ['g', 'e', 't', 'b', 'a']

print(sorted(listB))

print(sorted(listB, key=lambda y: y[0]))

listC = [('e', 4), ('o', 2), ('!', 5), ('v', 3), ('l', 1)]

print(sorted(listC, key=lambda x: x[1]))

结果

#结果一

[0, 1, 3, 6, 8, 9, 10]

#结果二

['a', 'b', 'e', 'g', 't']

['a', 'b', 'e', 'g', 't']

#结果三

[('l', 1), ('o', 2), ('v', 3), ('e', 4), ('!', 5)]

那最后有个-1 又是什么意思?

turn out 只是读的时候的问题:

Python has the ability to index from the

end

of a list. Hence,

x[-1]

refers to the last element,

x[-2]

refers to the second to last element, etc.

a.sort(key=lambda x: x[-1])

>>> a = [(10, 4), (3, 5), (7, 1)]

>>> a.sort(key=lambda x: x[-1])

[(7, 1), (10, 4), (3, 5)]

按如果是键值对怎么办

d= {'a':24,'g':52,'i':12,'k':33}

# 以列表形式输出字典d的key

# d.items()为字典d的键值对

b1=[key for key,value in d.items()]

print(b1)

# 以列表的形式输出字典d的value

b2={value for key,value in d.items()}

print(b2)

# 颠倒字典d的key:value位置

b3={value : key for key,value in d.items()}

print(b3)

# 将字典d按value的值进行排序

b4=sorted(d.items(), key=lambda x: x[1])

print(b4)

['a', 'i', 'k', 'g']

set([24, 33, 12, 52])

{24: 'a', 33: 'k', 12: 'i', 52: 'g'}

[('i', 12), ('a', 24), ('k', 33), ('g', 52)]

[Finished in 0.0s]

sorted(d.items(), key=lambda x: x[1]) 中 d.items() 为待排序的对象;key=lambda x: x[1] 为对前面的对象中的第二维数据(即value)的值进行排序。 key=lambda  变量:变量[维数] 。维数可以按照自己的需要进行设置。

不想写纬度的话,这是键值对,当然可以用名字来代替拉 :

# 将列表中的age由大到小排序

alist = [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}]

b=sorted(alist,key=lambda x:x['age'],reverse=True)

print(b)

[{'age': 30, 'name': 'b'}, {'age': 25, 'name': 'c'}, {'age': 20, 'name': 'a'}]

lambda函数能不能内置在其他函数里面呢?

当然~

顺带也提一下map函数怎么用:(map跟lambda函数相反,前面放函数,后面放元素,只有map是反的)

对于min ,max函数是先元素,后函数-->tmin = min(l,key = lambda x:x[0])

map函数举例:

对于一个输入来说:

3

10 2

n = int(input())

T,C = map(int,input().split())

>>>def square(x) : # 计算平方数

... return x ** 2

...

>>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方

[1, 4, 9, 16, 25]

>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数

[1, 4, 9, 16, 25]

# 提供了两个列表,对相同位置的列表数据进行相加

>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])

[3, 7, 11, 15, 19]

最后,对于排序那里,要补充一下 :

对tuple 或者是 二维list 进行排序,先按照第一个元素升序,如果第一个元素相同,再按照第二个元素降序排列。

L = [(12, 12), (34, 13), (32, 15), (12, 24), (32, 64), (32, 11)]

L.sort(key=lambda x: (x[0], -x[1]))

print(L)

或者

L = [[12, 12], [34, 13], [32, 15], [12, 24], [32, 64], [32, 11]]

L.sort(key=lambda x: (x[0], -x[1]))

print(L)

答案都是

[[12, 24], [12, 12], [32, 64], [32, 15], [32, 11], [34, 13]]

[Finished in 0.1s]

而:

L = [[34, 13], [32, 15], [12, 24],[12, 12],[32, 64], [32, 11]]

x = min(L,key=lambda x: x[0])

print(x)

结果是: [12, 24]   而不是 [12,12] 所以说 双层的list排序用的是内层的[]的下标对应的数字作为对比的对象,而当只比一个的时候,不考虑比第二个纬度的话,[12,24]反而是出现的第一个最小的, 这个时候输出是[12,24] 而不是[12,12]

在后面在加一个【】

x = min(L,key=lambda x: x[0])[0]

输出就是 12 了 ,

对于map函数: python map函数感觉比较不一样:

他的定义是这样的:

map函数的原型是map(function, iterable, …),它的返回结果是一个列表。

参数function传的是一个函数名,可以是python内置的,也可以是自定义的。

参数iterable传的是一个可以迭代的对象,例如列表,元组,字符串这样的。

这个函数的意思就是将function应用于iterable的每一个元素,结果以列表的形式返回。注意到没有,iterable后面还有省略号,意思就是可以传很多个iterable,如果有额外的iterable参数,并行的从这些参数中取元素,并调用function。如果一个iterable参数比另外的iterable参数要短,将以None扩展该参数元素。还是看例子来理解吧!

a=(1,2,3,4,5)

b=[1,2,3,4,5]

c="zhangkang"

la=map(str,a)

lb=map(str,b)

lc=map(str,c)

print(la)

print(lb)

print(lc)

输出:

['1', '2', '3', '4', '5']

['1', '2', '3', '4', '5']

['z', 'h', 'a', 'n', 'g', 'k', 'a', 'n', 'g']

而python 中,可以直接 sum[1,2,3] 能得出6 , 所以map函数经常被当作 需要循环 的函数来写,要简单太多拉!!!

比如:l= [[1,2],[3,4]]

我想求 2+4 的答案:

l= [[1,2],[3,4]]

x = sum(map(lambda x:x[1],l))

print(x)

可以直接这么写,因为map函数返回一个[2,4] 而sum[2,4]  等于 6 ,所以就很简单拉!!

python key=lambda函数_Python lambda函数,pythonlambda相关推荐

  1. python中factor函数_Python入门-函数

    函数 在维基百科上函数式这样描述的: 函数在数学中为两集合间的一种对应关系:输入值集合中的每项元素皆能对应唯一一项输出值集合中的元素. 此处的函数区别于我们数学上的函数,在编程世界中,函数(Funct ...

  2. python里有哪些函数_python update函数会调用哪些内置函数_Python函数之内置函数

    截止导Python 3.6 目前内置函数有68个 以下是对这些内置函数的分类 一:作用域相关 以字典的形式返回作用域中的名字 locals # 返回本地作用域的所有名字 globals # 返回全局作 ...

  3. python中的匿名函数_python匿名函数

    文章导读: 以前自己一直没搞明白Python中的匿名函数,现在拿这个问题基本上搞明白了,拿自己的理解整成一篇文章,附带大量例子,让其更加好理解. 在编程语言中,函数的应用: 1. 代码块重复,这时候必 ...

  4. python实现排序函数_Python排序函数的使用方法详解

    Python排序函数完美体现了Python语言的简洁性,对于List对象,我们可以直接调用sort()函数(这里称为"方法"更合适)来进行排序,而对于其他可迭代对象(如set,di ...

  5. python用psf函数_Python 嵌套函数(高级用法)

    Python 嵌套函数(高级用法) 一.嵌套函数(高级用法) 1.嵌套函数 函数的嵌套调用是在"函数调用中再调用其他函数".也就是说:函数嵌套允许在一个函数中调用另外一个函数.如下 ...

  6. python匿名函数_Python匿名函数

    python匿名函数 Welcome to Python anonymous function tutorial. In the previous tutorial we learned about ...

  7. python lambda菜鸟_Python lambda介绍

    在学习python的过程中,lambda的语法时常会使人感到困惑,lambda是什么,为什么要使用lambda,是不是必须使用lambda? 下面就上面的问题进行一下解答. 1.lambda是什么? ...

  8. 用python写一个函数_Python基础-函数篇

    1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 函数与函数式编程 1.面向对象: 华山派----> ...

  9. python lambda 判断_Python lambda

    引言 前段时间,没事儿时翻看了自己刚参加工作时写的一些代码,发现代码中有好几处分别都用到了lambda表达式,从代码中会发现那时候的自己对lambda理解的不算深刻,lambda的本质,为什么要用la ...

  10. python有哪些函数_python常用函数有哪些

    Python常用函数: 1. print()函数:打印字符串 2. raw_input()函数:从用户键盘捕获字符 3. len()函数:计算字符长度 4. format(12.3654,'6.2f' ...

最新文章

  1. Windows核心编程 第十七章 -内存映射文件(上)
  2. linux应用程序调试方法,Linux应用程序使用写文件调试程序的方法
  3. RocketMQ的Producer详解之分布式事务消息(原理分析)
  4. 科技巨头开发人工智能 稀缺品种或成A股香饽饽
  5. Web优化 --利用css sprites降低图片请求
  6. HaProxy+Keepalived+Mycat高可用群集配置
  7. mysql创建数据库时使用sql/wordbench使主键(primary key)自增
  8. 运用基础班知识做一个网页
  9. 好用的MessageFormat类
  10. 谷歌和 Zyxel 各修复一个已遭利用的 0day
  11. Firemonkey下使用StyleBook的一些经验
  12. python - 啃书 第八章 正则表达式
  13. JS字符串格式化函数 string.format
  14. 代码设置桌面壁纸或者屏保
  15. Matplotlib——饼图pie()函数
  16. [转]SSD:Single Shot Detector详解
  17. 绍兴14岁女孩被德云社录取,她究竟有什么来历呢?
  18. 金融风控指标:WOE, IV, KS,LIFT值和PSI
  19. 自媒体如何赚钱;血的教训总结的8大赚钱平台,10种赚钱套路
  20. 阿里中间件seata源码剖析六:TCC模式中2阶段提交实现

热门文章

  1. spring security oauth2
  2. 如何使用word管理参考论文——交叉引用
  3. 整合来自多个Aurora数据库数据,亚马逊云科技为用户提供数据分析一体化融合解决方案
  4. Oracle 11g 安装详细过程
  5. word文档的公式编号方法(笔记)
  6. uniapp实现支付功能
  7. Cglib动态代理-MethodInterceptor的简单使用(转载)
  8. 7-19 计算天数 (C语言)
  9. shell字段拼接日期_通过shell脚本获取日期,并赋给变量(转)
  10. wsl2中安装海思开发环境(3516EV200/18EV300)