欢迎访问宙启技术站
智能推送

Python中Lambda函数的使用方法及示例解析

发布时间:2023-06-23 02:22:44

Lambda函数又称为匿名函数,是一种没有函数名的小函数,它是一种用于支持大量快捷编程技术的函数式编程语言的功能。通常使用lambda定义的函数都非常简短,实现一个简单功能,一般只有一行代码。Python中使用lambda非常简单,只需要输入lambda关键字,然后定义参数,最后输入一个函数体。

lambda语法:lambda 参数:表达式

例如,将两个参数相乘,可以用如下代码来实现一个Lambda函数:

f = lambda x, y: x * y

print(f(2,3))

输出结果是6。

Lambda函数的使用方法

Lambda函数定义之后被视为对象,与其他函数一样,可以将它作为参数传递给其他函数。Lambda函数和普通函数使用方法相同,可以用于需要函数对象的任何地方。Lambda函数通常用于传递给高阶函数、过滤器、映射器等。如下是Lambda函数的一些典型用法:

1、Lambda函数可以用于对列表进行排序。

例如:

students = [('Berry', 76), ('Adam', 90), ('Jason', 82), ('Mike', 70)]

students.sort(key=lambda x: x[1])

print(students)

输出结果是:[('Mike', 70), ('Berry', 76), ('Jason', 82), ('Adam', 90)]

2、Lambda函数可以用于过滤列表中的元素。

例如,使用Lambda函数获取一个列表中大于5的数字:

nums = [1, 3, 4, 7, 9, 11, 13]

res = list(filter(lambda x: x > 5, nums))

print(res)

输出结果是:[7, 9, 11, 13]

3、Lambda函数可以用于映射列表元素。

例如,使用Lambda函数将列表中所有元素都乘以2:

nums = [1, 2, 3, 4, 5]

res = list(map(lambda x: x * 2, nums))

print(res)

输出结果是:[2, 4, 6, 8, 10]

Lambda函数示例解析

以下是Python中Lambda函数的一些示例,用于说明Lambda函数所用场景的应用:

示例1:Lambda函数用于打印人名。

例如:

names = ['Adam', 'Mike', 'Jason', 'Frank']

res = list(map(lambda name: 'Hello ' + name, names))

for name in res:

    print(name)

在这个代码示例中,首先定义了names列表,然后使用Lambda函数在每个人名前加上“Hello ”,将其存储到res中,并使用循环语句将结果输出到控制台。输出结果如下:

Hello Adam

Hello Mike

Hello Jason

Hello Frank

示例2:Lambda函数用于排序。

例如,定义一个字典列表,对其中的字典按照某一个键进行排序:

team = [{'name': 'Alex', 'score': 90}, 

         {'name': 'Tone', 'score': 70}, 

         {'name': 'Frank', 'score': 85}]

res = sorted(team, key=lambda x:x['score'], reverse=True)

print(res)

输出结果是:

[{'name': 'Alex', 'score': 90},

{'name': 'Frank', 'score': 85},

{'name': 'Tone', 'score': 70}]

示例3:Lambda函数用于过滤。

例如,给定以下列表,筛选其中小于10的元素:

numbers = [1, 3, 5, 8, 12]

res = list(filter(lambda x: x < 10, numbers))

print(res)

输出结果为:[1, 3, 5, 8]

结论

Lambda函数在Python中是一个非常有用的工具,它可以简化代码、提高代码的可读性和可维护性。Lambda函数的使用场景非常广泛,可以用于排序、映射和过滤等操作。Lambda函数通常涉及到函数式编程,由于Python支持函数式编程,因此使用Lambda函数可以为Python开发者带来很多好处。