Python中Lambda函数的使用方法及示例解析
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开发者带来很多好处。
