Python中lambda函数的用法和例子
发布时间:2023-06-20 10:06:26
Python中的lambda函数是一种匿名函数,也称为无名函数或一次性函数,可以在没有函数名称的情况下创建函数对象。Lambda函数适合于需要快速定义简单函数的情况。
lambda函数的常见格式如下:
lambda arguments : expression
其中,arguments表示参数列表,可以为空或者包含一个或多个参数,多个参数使用逗号(,)分隔;expression表示表达式,是lambda函数的返回值。
下面是一些lambda函数的例子:
1. 求平方数
square = lambda x: x ** 2 print(square(5)) # 输出25
2. 判断一个数是否为偶数
is_even = lambda x: x % 2 == 0 print(is_even(4)) # 输出True print(is_even(5)) # 输出False
3. 按字母顺序排序
words = ["apple", "banana", "cherry", "date"] sorted_words = sorted(words, key=lambda word: word[0]) print(sorted_words) # 输出['apple', 'banana', 'cherry', 'date']
4. 将两个数字相加
add = lambda x, y: x + y print(add(3, 4)) # 输出7
5. 将字符串转换为大写
to_uppercase = lambda s: s.upper()
print(to_uppercase("hello world")) # 输出HELLO WORLD
6. 使用lambda函数实现动态排序
def sort_list(key=None):
data = [
{"name": "John", "age": 28},
{"name": "Mary", "age": 22},
{"name": "Tom", "age": 25},
{"name": "Jane", "age": 32}
]
if key:
data.sort(key=lambda x: x[key])
else:
data.sort()
return data
# 按照年龄排序
print(sort_list(key="age"))
# 按照姓名排序
print(sort_list(key="name"))
# 按照默认排序
print(sort_list())
Lambda函数可以使用在许多场景中,如列表排序、过滤和映射等。使用lambda函数可以减少代码量、提高可读性和简化程序设计。但需要注意的是,如果需要编写复杂的函数, 使用常规的函数定义。
