lambda函数以及对 items.sort(key = lambda y:y[1], reverse = True) 的理解。
今天看书的时候看到这个代码,看到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) 的理解。相关推荐
- Python中的排除sort函数的参数key:a.sort(key=lambda x: x[1])是什么意思
a.sort(key = lambda x : x[1]) 上述代码指的是: sort排序函数中传入参数key,key的值为匿名函数lambda的返回值,匿名函数中的第一个x为参数,x[1]为函数表达 ...
- python列表lambda表达式排序sort(key=lambda x:x[1])
list1 = [] list2 = [] while(True):name = input("请输入名字:")if name=="exit":breaksco ...
- python中lambda函数对时间排序_python – 使用lambda函数排序()
我的字符串看起来像"co1 / co2","co3 / co4"--"co11 / co12" 将其描述为正则表达式: ^(?P\w\w)( ...
- python 匹配字符串map lambda函数_Python map amp; reduce 以及lambda匿名函数 - jvisualvm - ITeye博客...
map() map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. 使用map实现一个f(x) = x * ...
- python中lambda函数if用法-Python中关于Lambda函数的使用总结
lambda表达式是一种匿名函数,对应python中的自定义函数def,是定义某个函数时比较高级的一种写法.作为python初学者,本文整理了lambda的一些基本用法和特点. lambda和def的 ...
- Python 函数 sort(),sorted() 之区别及 key=lambda x:x[] 之理解
实务中,我们经常需要将数据排序,Python 内置函数 sorted() 及列表操作函数 sort() 均可实现该功能. 二者的完整语法如下: List.sort(key=None,reverse=F ...
- python lambda函数两个列表大小关系_python学习 -- operator.itemgetter(), list.sort/sorted 以及lambda函数...
Python 中有非常方便高效的排序函数,下面主要介绍如何sort/sorted对list,dict进行排序. 1. 用list.sort /sorted 对list of tuples中第二个值进行 ...
- python key=lambda函数_Python lambda函数,pythonlambda
lambda x: 3*x+1 怎么用它呢 , 来给它一个名字 g = lambda x:3*x+1 调用一下它 g(2) 如果想有多个input怎么办? 比如说想把 first name 和 las ...
- Python 精选笔试面试习题—sorted 与 sort 单例模式、统计字符个数Count、垃圾回收、lambda函数、静态方法、类方法、实例方法、分布式锁、
1. 字典根据键从小到大排序? In[38]: dic = {"name": "Tom", "age": 30, "country ...
最新文章
- android theme material,Android Studio 换主题(Material Theme..)
- IDEA设置虚拟机参数
- 轻松搭建基于 Serverless 的 Egg.js Web 应用
- 万用表怎么测量电池容量_如何使用万用表,使用万用表测量常用的六个方面
- Objective-C setter和getter
- Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案
- equals和=,==的区别
- 最新自然指数出炉,哪些高校表现突出?
- namespace for c++
- 计算机管理员初级试题及答案,计算机管理员测试题及答案.doc
- html加入购物车的动画,关于购物车添加按钮的动画
- 火爆GitHub:100天搞定机器学习编程(超赞信息图+代码+数据集)
- 某大型银行深化系统之十八:性能设计之三
- jmeter根据循环获取参数_Jmeter--同线程组循环获取数据库数据传递请求
- SMART原则是什么
- VUE后台管理中使用富文本编辑器导入word 文档进行编辑
- 去银行当程序员是一种什么体验
- android模拟器如何输入中文,不能输入中文
- nextTick的理解和作用
- 常用文献管理软件优缺点比较及总结