lambda表达式范例学习

lambda函数又称匿名函数,同样有输入和输出,通常作为嵌套函数用,看起来代码更加pythonic。

用法:lambda [parameters]: expression

Python官方手册解释:

An anonymous inline function consisting of a single expression which is evaluated when the function is called.The syntax to create a lambda function is lambda [parameters]: expression

网友总结:

lambda的用法统一是: lambda argument_list: expression
lambda x, y: xy;函数输入是x和y,输出是它们的积xy lambda:None;函数没有输入参数,输出是None
lambda *args: sum(args); 输入是任意个数的参数,输出是它们的和(隐性要求是输入参数必须能够进行加法运算)
lambda **kwargs: 1;输入是任意键值对参数,输出是1
参考:https://blog.csdn.net/zjuxsl/article/details/79437563

以下为使用示例:
示例1:

>>> data = [('red', 5), ('blue', 1), ('yellow', 8), ('black', 0)]
>>> data.sort(key=lambda r: r[1])
>>> keys = [r[1] for r in data] # precomputed list of keys
>>> data[bisect_left(keys, 0)]
('black', 0)
>>> data[bisect_left(keys, 1)]
('blue', 1)
>>> data[bisect_left(keys, 5)]
('red', 5)
>>> data[bisect_left(keys, 8)]
('yellow', 8)

示例2:

dropwhile(lambda x: x<5, [1,4,6,4,1]) --> 6 4 1
filterfalse(lambda x: x%2,range(10)) --> 0 2 4 6 8
takewhile(lambda x: x<5, [1,4,6,4,1]) --> 1 4

示例3:

lambda x, y: x+y, [1, 2, 3, 4, 5])
con.text_factory = lambda x: x.decode("utf-8") + "foo"
side_effect = lambda value: value + 1

示例4:

  for i in range(n_bulk_repeats):
        start = time.time()
        estimator.predict(X_test)
        runtimes[i] = time.time() - start
    runtimes = np.array(list(map(lambda x: x / float(n_instances), runtimes)))

map函数用法:

map(function, iterable, …)
Return an iterator that applies function to every item of iterable, yielding the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. With multiple iterables, the iterator stops when the shortest iterable is exhausted.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值