今天看书的时候看到这个代码,看到lambda时是比较懵的,后来看了很多的材料才明白的。(看来要学的还是有很多呀!!!)

def getText():txt = open("hamlet.txt ", "r").read()  # 使用时在输入文件的路径,以便读取到文件txt = txt.lower() #全文小写for ch in '!''#$%&()*+,-./:;<=>?@[\\]^_`{|}~':  # 把文中的所有字符,特殊字符全都转换为 " " (空格)txt = txt.replace(ch," ")return txthamletTxt = getText()words = hamletTxt.split()
counts = {}   # 建立字典for word in words:counts[word] = counts.get(word,0) + 1items = list(counts.items())items.sort(key = lambda y:y[1], reverse = True)  #  key =  lambda y:y[1] 难以理解点for i in range (10):word, count = items[i]print ("{0:<10}{1:>5}".format(word, count))

lambda函数:

lambda为Python中的33个保留字中的一个,该保留字定义一种特殊的函数——匿名函数,又称lambda函数。匿名函数并非不是没有名字,而是将函数名作为函数结果返回。

<函数名> = lambda <参数列表> : <表达式>

等同于一般形式的:

def <函数名> (<参数列表>):
return <表达式>

标准形式是这样的:sorted(d.items(), key = lambda x : x[1] )

d.items() 为需要进行排序的对象
key=lambda 变量:变量[维数],其中x:x[ ]字母可以随意修改,排序方式按照中括号[]里面的维度进行排序,[0]按照第一维排序,[1] 按照第二维排序,[2]按照第三维排序,依次类推。

示例1

# 对字典进行排序,以数字表示数据维数
d = {"a":15,"b":16,"c":37,"d":24,"e":39}
b=sorted(d.items(), key=lambda x: x[1])
print(b)

结果为:

[('a', 15), ('b', 16), ('d', 24), ('c', 37),('e', 39)]

示例2

#对字典进行排序,以字符串表示数据维数
a = [{'name':'a','age':15},{'name':'b','age':31},{'name':'c','age':28}]
b=sorted(alist,key=lambda x:x['age'],reverse=True)
print(b)

结果为:

{'name': 'b', 'age': 31}, {'name': 'c', 'age': 28}, {'name': 'a', 'age': 15}]

学习就是一个不断前进的过程,在获得跟高层次的知识时再回过头来看看以前自己写的东西感觉就~~ 但是这一点点的都是自己慢慢进步积累的见证吧!! (加油咯元气打工人)

lambda函数以及对 items.sort(key = lambda y:y[1], reverse = True) 的理解。相关推荐

  1. Python中的排除sort函数的参数key:a.sort(key=lambda x: x[1])是什么意思

    a.sort(key = lambda x : x[1]) 上述代码指的是: sort排序函数中传入参数key,key的值为匿名函数lambda的返回值,匿名函数中的第一个x为参数,x[1]为函数表达 ...

  2. python列表lambda表达式排序sort(key=lambda x:x[1])

    list1 = [] list2 = [] while(True):name = input("请输入名字:")if name=="exit":breaksco ...

  3. python中lambda函数对时间排序_python – 使用lambda函数排序()

    我的字符串看起来像"co1 / co2","co3 / co4"--"co11 / co12" 将其描述为正则表达式: ^(?P\w\w)( ...

  4. python 匹配字符串map lambda函数_Python map amp; reduce 以及lambda匿名函数 - jvisualvm - ITeye博客...

    map() map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. 使用map实现一个f(x) = x * ...

  5. python中lambda函数if用法-Python中关于Lambda函数的使用总结

    lambda表达式是一种匿名函数,对应python中的自定义函数def,是定义某个函数时比较高级的一种写法.作为python初学者,本文整理了lambda的一些基本用法和特点. lambda和def的 ...

  6. Python 函数 sort(),sorted() 之区别及 key=lambda x:x[] 之理解

    实务中,我们经常需要将数据排序,Python 内置函数 sorted() 及列表操作函数 sort() 均可实现该功能. 二者的完整语法如下: List.sort(key=None,reverse=F ...

  7. python lambda函数两个列表大小关系_python学习 -- operator.itemgetter(), list.sort/sorted 以及lambda函数...

    Python 中有非常方便高效的排序函数,下面主要介绍如何sort/sorted对list,dict进行排序. 1. 用list.sort /sorted 对list of tuples中第二个值进行 ...

  8. python key=lambda函数_Python lambda函数,pythonlambda

    lambda x: 3*x+1 怎么用它呢 , 来给它一个名字 g = lambda x:3*x+1 调用一下它 g(2) 如果想有多个input怎么办? 比如说想把 first name 和 las ...

  9. Python 精选笔试面试习题—sorted 与 sort 单例模式、统计字符个数Count、垃圾回收、lambda函数、静态方法、类方法、实例方法、分布式锁、

    1. 字典根据键从小到大排序? In[38]: dic = {"name": "Tom", "age": 30, "country ...

最新文章

  1. android theme material,Android Studio 换主题(Material Theme..)
  2. IDEA设置虚拟机参数
  3. 轻松搭建基于 Serverless 的 Egg.js Web 应用
  4. 万用表怎么测量电池容量_如何使用万用表,使用万用表测量常用的六个方面
  5. Objective-C setter和getter
  6. Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案
  7. equals和=,==的区别
  8. 最新自然指数出炉,哪些高校表现突出?
  9. namespace for c++
  10. 计算机管理员初级试题及答案,计算机管理员测试题及答案.doc
  11. html加入购物车的动画,关于购物车添加按钮的动画
  12. 火爆GitHub:100天搞定机器学习编程(超赞信息图+代码+数据集)
  13. 某大型银行深化系统之十八:性能设计之三
  14. jmeter根据循环获取参数_Jmeter--同线程组循环获取数据库数据传递请求
  15. SMART原则是什么
  16. VUE后台管理中使用富文本编辑器导入word 文档进行编辑
  17. 去银行当程序员是一种什么体验
  18. android模拟器如何输入中文,不能输入中文
  19. nextTick的理解和作用
  20. 常用文献管理软件优缺点比较及总结

热门文章

  1. 数字U家,即刻出发!2022联合利华黑客马拉松报名倒计时!
  2. 推荐 18 个终端命令行工具
  3. 【月报】Java知音的一月汇总
  4. 使用自动补全功能- MATLAB
  5. Java NIO编程基础
  6. Algorithm Data structure
  7. Kubernetes 架构(上)- 每天5分钟玩转 Docker 容器技术(120)
  8. 【转载】推荐5款超实用的.NET性能分析工具
  9. PCB参数计算神器-Saturn PCB Design Toolkit下载及安装指南
  10. [图解教程]Eclipse不可不知的用法之一:自动生成Getter、Setter和构造方法