Python基础(六)------Lambda表达式、函数应用与工具

Python Lambda表达式、函数应用与工具

目录

1 Lambda表达式

作用:定义匿名函数
基本格式:lambda 参数1,参数2,...:函数操作
f = lambda name:print(name) #注意:这里的f和f2不是函数名称,而是对象引用的名称
f2 = lambda x,y : x + y
 
f('Tom')
print(f2(5,3))
Tom
8

注意:这里的f和f2不是函数名称,而是对象引用的名称

lambda x,y : x + y 这个整体也可以作为一个引用对象,后面的括号内可传入参数,匿名函数可直接被调用

name = 'Mike'
(lambda name:print("hello",name)) (name)
hello Tom

函数委托的相关用法: 委托名称 = 函数名

def hello_name(name):
    print("hello",name)
while True:
    name = input('input your name: \n')
    lan = input("input your language:\n c = Chinese \n e = English \n")
    if lan == 'c':
        action = hello_name        #将函数委托给一个引用对象 委托对象 = 函数名
    elif lan == 'e':
        action = lambda name: print("hello",name) #委托一个匿名函数
    else:
        print("please input 'c' or 'e' ")
        continue
 
    action(name)
input your name: 
Mike
input your language:
 c = Chinese 
 e = English 
c
hello Mike
input your name: 

2 高级工具

map(函数,可迭代对象): 适用于对可迭代对象内的每个元素执行相应函数
l = list(range(1,21)) #range是一个可迭代对象,可以转换成list
res = []
 
def add_number(x):
    return x + 5
 
#1.循环方式
for x in l:
    res.append(x + 5)
print(res)
 
#2.推导方式
res = [x + 5 for x in l]
print(res)
 
#3.map()
res = list(map(add_number,l))
res1 = list(map(lambda n:n+5,l)) #lambda函数直接作引用对象
print(res)
print(res1)
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
filter(函数,可迭代对象):适用于对可迭代对象内的每个元素执行相应判断和筛选
l = list(range(1,11))
 
def even_number(x):
    return x % 2 ==0
 
res = list(filter(even_number,l))
res1 = list(filter(lambda n:n % 2 ==0,l))
print(res)
print(res1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值