python key=lambda函数,key等于lambda
使用一些内置函数,如排序,求和…
我注意到了key=lambda的使用。
lambda是什么?它是如何工作的?
还有哪些函数使用key=lambda?
还有key=之类的其他键值吗?
解决方法:
是一个匿名函数:
f=lambda:“foo”
打印f()
富(中国姓氏)
通常用在sorted()等函数中,这些函数以callable为参数(通常是keyword关键字参数)。你也可以提供一个现有的函数代替lambda,只要它是一个可调用的对象。
以sorted()函数为例。它将按照排序顺序返回给定的iterable:
已排序([一些,单词,排序,不同])
[一些,不同地,排序,单词]
但是将大写单词排在小写单词之前。使用key关键字更改每个条目,以便对它们进行不同的排序。我们可以在排序前将所有单词小写,例如:
def lowercased(word):返回word.lower()
.
小写( Some )
一些
已排序([Some , words , sort , differently],key=小写)
[不同,一些,排序,单词]
我们必须为此创建一个单独的函数,并且我们不能将def lowercased()行内联到sorted()表达式中:
sorted([Some , words , sort , differently],key=def lower cased(word):return word . lower())
文件“”,第1行
sorted([Some , words , sort , differently],key=def lower cased(word):return word . lower())
^
语法错误:无效语法
另一方面,可以在sorted()表达式中直接内联指定lambda:
已排序([Some , words , sort , differently],key=lambda word: word.lower())
[不同,一些,排序,单词]
Lambdas限于一个表达式,其结果是返回值。
Python库中有很多地方,包括内置函数,可以作为关键字或者位置参数调用。这里的名字太多了,往往扮演着不同的角色。
标签:python,lambda,key
资料来源:https://codeday.me/bug/20190918/1811604.html
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。