Python基础(五)——匿名函数
2021/7/11 1:06:26
本文主要是介绍Python基础(五)——匿名函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Python基础(五)——匿名函数
- 一.什么是匿名函数
- 二.匿名函数的声明
- 三.三目运算
- 四.匿名函数使用方式
- 4.1 lanbda与三目运算的结合使用
- 4.2 给def函数中的lambda传参
- 4.3 匿名函数传入def函数
- 五.与匿名函数结合的常用函数
- 5.1 map(function,sequence)
- 5.2reduce(function,sequence)
- 5.3sorted(iterable,key=None,reverse=False)
- 5.4filter(function,sequence)
一.什么是匿名函数
顾名思义,没有名字。适用于简单的业务逻辑
二.匿名函数的声明
使用lambda
声明
变量 = lambda 参数 : 逻辑代码 #调用 变量(参数)
三.三目运算
表达式1 if 条件 else 表达式2
如果条件成立,表达式1就作为整个表达式的结果,反之,表达式二为整个表达式的结果。
四.匿名函数使用方式
4.1 lanbda与三目运算的结合使用
compare = lanbda x,y :x if x>y else y #调用 compare(8,9)
4.2 给def函数中的lambda传参
def 函数无参数
def main(): return lambda x : True if x==10 else False #传参 main()(10)
def 有参数
def main(num1,num2,num3): return lambda x : x+num1+num2+num3 #调用 total = main(10,20,30)(40)
4.3 匿名函数传入def函数
str_list = ['Python基础', 'Java基础', 'Python爬虫', 'Java Web', ] def main(keys, func): result_list = [] for result in keys: if func(result): result_list.append(result) return result_list condition = lambda x: True if 'Python' in x else False # 调用 print(main(str_list, condition))
五.与匿名函数结合的常用函数
5.1 map(function,sequence)
data = [1,2,3,4] #def函数 +map def func(n): return n+1 print(list(map(func,data))) #lambda + map print(list(map(lambda n : n+1,data)))
- 参数顺序:方法/表达式,可迭代对象
- 对可迭代对象中每个数据进行函数规定的操作
- 返回的结果是迭代器,用list转一下在调用
- 函数为传统函数调用时不要加()
5.2reduce(function,sequence)
引入:from functools import reduce
from functools import reduce data = [1, 2, 3, 4] def func(x, y): return x + y print(reduce(func,data)) print(reduce(lambda x, y: x + y, data))
- 参数顺序:方法/表达式,可迭代对象
- 每次取两个数进行运算,可迭代对象中数据越来越少
5.3sorted(iterable,key=None,reverse=False)
data = {'李彤':480, '苏丹':520,'王梅':340, '赵夏伟':555 } print(sorted(data.items(), key=lambda d: d[1], reverse=True))
- 对可迭代对象进行排序,不影响原数据
- 返回的排序是列表嵌套元组,可用dict()转回字典
- iterable:可迭代数据类型列表,字典
- key:是否基于某一个元素排序
- reverse:是否反转,默认false升序,反之降序
- 如果基于的条件不是一个,key=lambda d: (d[0],d[1])
5.4filter(function,sequence)
data = [1, 2, 3, 4] print(list(filter(lambda x : x>2,data)))
- 参数顺序:方法/表达式,可迭代对象
- 根据条件过滤
- 函数返回类型需要为布尔
- filter返回的结果为迭代器,转list调用
这篇关于Python基础(五)——匿名函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01Python编程基础知识
- 2024-11-01Python编程基础
- 2024-10-31Python基础入门:理解变量与数据类型
- 2024-10-30Python股票自动化交易资料详解与实战指南
- 2024-10-30Python入行:新手必读的Python编程入门指南
- 2024-10-30Python入行:初学者必备的编程指南
- 2024-10-30Python编程入门指南
- 2024-10-30Python量化交易学习:新手入门指南
- 2024-10-30Python股票自动化交易实战入门教程
- 2024-10-29Python股票自动化交易教程:新手入门指南