时间:2021-05-22
本文实例讲述了Python学习笔记之lambda表达式用法。分享给大家供大家参考,具体如下:
Lambda 表达式
使用 Lambda 表达式创建匿名函数,即没有名称的函数。lambda 表达式非常适合快速创建在代码中以后不会用到的函数。
麻烦的写法:
def multiply(x, y): return x * y使用Lambda之后:
double = lambda x, y: x * yLambda 函数的组成部分:
Lambda 表达式[相关练习]
map() 是一个高阶内置函数,接受函数和可迭代对象作为输入,并返回一个将该函数应用到可迭代对象的每个元素的迭代器。下面的代码使用 map() 计算 numbers 中每个列表的均值,并创建列表 averages, 通过将 mean 函数替换为在 map() 的调用中定义的 lambda 表达式,重写这段代码,使代码更简练。
numbers = [ [34, 63, 88, 71, 29], [90, 78, 51, 27, 45], [63, 37, 85, 46, 22], [51, 22, 34, 11, 18] ]def mean(num_list): return sum(num_list) / len(num_list)averages = list(map(mean, numbers))print(averages)使用lambda重写后:
numbers = [ [34, 63, 88, 71, 29], [90, 78, 51, 27, 45], [63, 37, 85, 46, 22], [51, 22, 34, 11, 18] ]averages = list(map(lambda x: sum(x) / len(x), numbers))print(averages) # [57.0, 58.2, 50.6, 27.2]filter() 是一个高阶内置函数,接受函数和可迭代对象作为输入,并返回一个由可迭代对象中的特定元素(该函数针对该元素会返回 True)组成的迭代器。下面的代码使用 filter() 从 cities 中获取长度少于 10 个字符的名称以创建列表 short_cities。通过将 is_short 函数替换为在 filter() 的调用中定义的 lambda 表达式,重写这段代码,使代码更简练。
cities = ["New York City", "Los Angeles", "Chicago", "Mountain View", "Denver", "Boston"]def is_short(name): return len(name) < 10short_cities = list(filter(is_short, cities))print(short_cities)使用lambda重写后:
cities = ["New York City", "Los Angeles", "Chicago", "Mountain View", "Denver", "Boston"]short_cities = list(filter(lambda n: len(n) < 10, cities))print(short_cities) # ['Chicago', 'Denver', 'Boston']关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
lambda表达式python中形如:lambdaparameters:expression称为lambda表达式,用于创建匿名函数,该表达式会产生一个函数对象
前言上一篇文章30分钟入门Java8之lambda表达式,我们学习了lambda表达式。现在继续Java8新语言特性的学习,今天,我们要学习的是默认方法和静态接
本文以实例形式介绍了C#中Lambda表达式的用法,分享给大家供大家参考之用。具体如下:从委托的角度来看,Lambda表达式与匿名方法没有区别。在前面C#基础之
前言lambda是表达式,用于创建匿名函数,可以和filter、map、reduce配合使用。本文环境Python3.7。一、lambda表达式lambda只包
Java8新特性Lambda表达式实例详解在介绍Lambda表达式之前,我们先来看只有单个方法的Interface(通常我们称之为回调接口):publicint