[python] use Lambda Expressions to define a function/ 使用Lambda表达式定义函数

https://docs.python.org/zh-cn/3/tutorial/controlflow.html

4.7.5. Lambda 表达式

可以用 lambda 关键字来创建一个小的匿名函数。这个函数返回两个参数的和: lambda a, b: a+b 。Lambda函数可以在需要函数对象的任何地方使用。它们在语法上限于单个表达式。从语义上来说,它们只是正常函数定义的语法糖。与嵌套函数定义一样,lambda函数可以引用包含范围的变量:

>>>

>>> def make_incrementor(n):
...     return lambda x: x + n
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43

上面的例子使用一个lambda表达式来返回一个函数。另一个用法是传递一个小函数作为参数:

>>>

>>> pairs = [(1, ‘one‘), (2, ‘two‘), (3, ‘three‘), (4, ‘four‘)]
>>> pairs.sort(key=lambda pair: pair[1])
>>> pairs
[(4, ‘four‘), (1, ‘one‘), (3, ‘three‘), (2, ‘two‘)]

原文地址:https://www.cnblogs.com/alfredsun/p/10980864.html

时间: 2024-10-12 02:35:28

[python] use Lambda Expressions to define a function/ 使用Lambda表达式定义函数的相关文章

swig python dynamic module does not define init function

example_module = Extension('_example', sources=['example_wrap.c', 'example.c'], ) setup (name = 'example', version = '0.1', author = "SWIG Docs", description = """Simple swig example from docs""", ext_modules = [exa

$(function(){})里面不能声明定义函数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> </head>

boost中Function和Lambda的使用

.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178, 191); background-color: rgb(40, 44, 52); overflow: auto } .markdown-preview:not([data-use-github-style])>:first-child { margin-top: 0px } .markdown-

Java 8 Lambda Expressions by Examples

Ever since I heard Java 8 is going to support lambda expressions (aka closures), I was very enthusiastic to spice my code with such a decent and concise functional element. Most developers extensively use Anonymous Inner Classes for event handlers, c

java 8之Lambda Expressions 解说

java 8之Lambda Expressions 解说 java 8 新增Lambda Expressions 的目的:为了使代码简洁易读和消除过多的冗余代码(尽量让编译器做代码转换工作,也可以认为是语法糖之类的作用). 使用过c.c++语言的人,都记得,他们的函数参数可以是函数指针即代码片段(某些行为),而在java语言中,要想使得函数为参数,必须把函数封装成对象,以对象传参才可以.而 java 8 新增Lambda Expressions 使得这一现状得到缓解(函数式变成.闭包之类的概念都

【Python笔记】Python的几个高级语法概念浅析:lambda表达式 &amp;&amp; 闭包 &amp;&amp; 装饰器

本文主要记录自己对几个高级语法概念的理解:匿名函数.lambda表达式.闭包.装饰器. 这几个概念并非Python特有,但本文只限于用Python做说明. 1. 匿名函数 匿名函数(anonymous function)是指未与任何标识符绑定的函数,多用在functional programming languages领域,典型应用场合: 1) 作为参数传给高阶函数(higher-order function ),如python中的built-in函数filter/map/reduce都是典型的

jdk8新特性之lambda expressions

本文分两部分: 语法简单说明 lambda的使用 注:这两部分内容均以类+注释的方式进行说明,并且内容均来自官方教程(https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html). 第一部分: /** * 语法说明类 * * lambda表达式包含下面几个要素: * 1.逗号分隔的参数列表,如CheckPerson.test(Person p),其中p表示一个Person的对象实例 * 2.向右箭头 →,

Lambda Expressions 笔记

随Java 8发布,"The Java(TM) Tutorials"增加了关于“Lambda Expressions”的教程.本文是此教程的总结.摘要. 一.Lambda的实质是一个匿名类 二.Lambda公式只能实现 functional 接口: 1. 只有一个虚方法的借口,叫做 functional 接口: 2. functional 接口中可以有一个或多个默认方法和静态方法. 三.Lambda公式的格式 例如: p -> p.getGender() == Person.Se

[TypeScript] Define a function type

type DigitValidator = (char) => boolean; const numericValidator = (char) => /[0-9]{1}/.test(char); export const digitValidators: {[key: string]: DigitValidator} = { '9': numericValidator }; We can use 'type' keyword to define a function type. 'digit