python-lambda表达式-filter()-map()

lambda表达式

  • 三目运算符是对if-else的简化,lambda表达式是对函数的简化
  • lambda表达式没有函数名
  • 处理仅用一两次的函数体,省去了定义函数的步骤

1 基本结构

关键字     参数        冒号    函数体
lambda    (x,y···)     :      功能实现代码

2 传统函数转成lambda表达式-实例

# 传统函数
	# 定义函数
		def demoA(x,y):
			print(x+y)
	# 调用函数
		demoA(1,2)
		#输出:3
# lambda表达式
	variable =  lambda x,y : x + y
	variable(2,3)sha
	# 输出:5

BIF就是Built-in Functions内置函数

3 BIF与lamble表达式的配合使用

3.1 filter()-过滤函数
  • 对迭代对象进行筛选
  • True---------------返回
  • False -------------舍弃

3.1.1基础语法

 filter(function or None, iterable) --> filter object
          函数名  / None   迭代对象      返回filter 对象

3.1.2 filter()使用案例

# 过滤:True 返回 ,False 舍弃 
	list(filter(None,(True,False,1,0,())))   #()为False
	# 输出:[True, 1]

3.1.3 lambda 与 filter()的混合使用用lambda把filter()的function参数替换了
①实例1,通过函数筛选奇数

# 实例1:筛选奇数(正常写法)
	# 定义函数
		def odd(x):
			return x % 2     #偶数返回 0=False
	# 定义序列
		element = range(8)
	# 通过filter()筛选元素
		list(filter(odd,element))
		# 输出:[1, 3, 5, 7]

# 把实例1 (filter()与lambda的混合模式)输出偶数
	# 定义序列
		element = range(10)
	
	# lambda替换 function
		list(filter(lambda x : (x+1) % 2,element))
		# 输出:[0, 2, 4, 6, 8]
3.2 map() 映射函数

3.2.1

  • map() 会根据提供的函数对指定序列做映射
  • 第一个参数 function 以参数序列中的每一个元素调用 function 函数,并返回迭代器

3.2.2 基础语法

map(function, iterable, ...)
    函数       一个或多个序列

3.2.3 实例 -求平方

# 传统函数
	# 定义sq函数
		def sq(x):
			return x**2	
	# 定义element序列
		element = range(6)
	# map()方法
		list(map(sq,element))
		#输出:[0, 1, 4, 9, 16, 25]

# map()与lambda的混合使用
	list(map(lambda x : x**2,element))
	# 输出:[0, 1, 4, 9, 16, 25]	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值