Python 中 Lambda 函数的使用及实例解析
•文章
669 0
1. 排序和自定义排序
lambda 函数通常用于自定义排序函数,例如,按照字符串长度排序:
words = ['apple', 'banana', 'kiwi', 'orange']
sorted_words = sorted(words, key=lambda x: len(x))
# sorted_words: ['kiwi', 'apple', 'banana', 'orange']
2.过滤器和条件筛选
lambda 函数也可以用于筛选和过滤,例如,从列表中过滤出所有的偶数:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# even_numbers: [2, 4, 6, 8]
3. 映射和数据转换
lambda 函数还可以用于映射和数据转换,例如将列表中的所有元素转换为字符串:
numbers = [1, 2, 3, 4, 5]
string_numbers = list(map(lambda x: str(x), numbers))
# string_numbers: ['1', '2', '3', '4', '5']
4. 匿名函数
由于 lambda 函数是匿名函数,因此它们经常用于传递给其他函数,例如:
# 将匿名函数作为参数传递给 sorted()
numbers = [(2, 1), (1, 2), (3, 3), (2, 2)]
sorted_numbers = sorted(numbers, key=lambda x: x[1])
# sorted_numbers: [(2, 1), (1, 2), (2, 2), (3, 3)]
# 将匿名函数作为参数传递给 map()
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x ** 2, numbers))
# squared_numbers: [1, 4, 9, 16, 25]
5. 将多个函数组合
在一些场景下,我们需要将多个函数组合在一起,这时可以使用 lambda 函数。例如:
# 将两个函数组合在一起
numbers = [1, 2, 3, 4, 5]
function = lambda x: x ** 2
squared_sum = sum(map(function, numbers))
# squared_sum: 55
# 将三个函数组合在一起
function = lambda x: x ** 2
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(function, numbers))
even_numbers = list(filter(lambda x: x % 2 == 0, squared_numbers))
sum_of_even_numbers = sum(even_numbers)
# sum_of_even_numbers: 20
总的来说,lambda 函数可以在许多场景下用于简洁高效的操作,但需要注意的是,如果函数体较为复杂,最好使用正常的函数定义,以提高
版权属于:戏人看戏博客网
本文链接:https://day.nb.sb/archives/484.html
若无注明均为戏人看戏原创,转载请注明出处,感谢您的支持!