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

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函数可以减少代码量、提高可读性和简化程序设计。但需要注意的是,如果需要编写复杂的函数, 使用常规的函数定义。