开发者社区> 问答> 正文

定义匿名或内联函数

你想为 sort() 操作创建一个很短的回调函数,但又不想用 def 去写一个单行函数, 而是希望通过某个快捷方式以内联方式来创建这个函数。

展开
收起
哦哦喔 2020-04-17 13:50:42 695 0
1 条回答
写回答
取消 提交回答
  • 当一些函数很简单,仅仅只是计算一个表达式的值的时候,就可以使用lambda表达式来代替了。比如:
    
    >>> add = lambda x, y: x + y
    >>> add(2,3)
    5
    >>> add('hello', 'world')
    'helloworld'
    >>>
    这里使用的lambda表达式跟下面的效果是一样的:
    
    >>> def add(x, y):
    ...     return x + y
    ...
    >>> add(2,3)
    5
    >>>
    lambda表达式典型的使用场景是排序或数据reduce等:
    
    >>> names = ['David Beazley', 'Brian Jones',
    ...         'Raymond Hettinger', 'Ned Batchelder']
    >>> sorted(names, key=lambda name: name.split()[-1].lower())
    ['Ned Batchelder', 'David Beazley', 'Raymond Hettinger', 'Brian Jones']
    >>>
    
    2020-04-17 13:51:02
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载