python编程进阶:Lambda 匿名函数
匿名函数(Anonymous functions),也被称为Lambda函数,在编程中用于「快速定义简单函数」的方式,即用即删除,非常轻量化,适用于小型、简单的函数。对于更复杂的函数,应该使用def
语句来定义它们。
「语法结构:」
lambda arguments: expression
- 输入是传入到参数列表argument_list的值
- 输出是根据表达式expression计算得到的值
# 使用匿名函数求平方
square = lambda x: x**2
print(square(5)) # 输出:25
常见使用场景
匿名函数常常搭配一些内置函数进行使用,内置函数提供了一种简洁的方式来定义一次性的、简单的功能,而无需显式地定义命名函数,使用起来爱不释手
filter
「功能:」用于对可迭代对象进行筛选,返回满足特定条件的元素组成的迭代器,匿名函数定义筛选条件
「语法:」
filter(function,iterable)
- funtion:表示用于筛选的函数,可以使lambda函数或者其他可调用对象
- iterable:要筛选的可迭代对象
「示例」
# 筛选字符串
people_list = ['jack', 'tom', 'lusy']
filter_people = list(filter(lambda x: x == 'jack',people_list))
print(filter_people)
>>> ['jack']
# 筛选奇数
numer_list = [1, 2, 3, 4, 5, 6]
filter_num = list(filter(lambda x: x % 2 == 0, numer_list))
print(filter_num)
>>>[2, 4, 6]
# 筛选字典
score_dict={'jack':70,'tom':40,'lusy':90}
filter_score = dict(filter(lambda score:score[1]>60,score_dict.items()))
print(filter_score)
>>> {'jack': 70, 'lusy': 90}