python key=lambda函数,key等于lambda

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: