【py】任务23-函数应用与工具

函数-lambda表达式

  1. 不加变量
    在这里插入图片描述
  2. 加变量
    在这里插入图片描述
    2。1在这里插入图片描述
    ps:emp.get(参数1,函数名1)(函数参数)
    即在参数1 对应的键没找到,则默认执行函数名1 对应的函数

3. 通过字典表来使用函数/lambda
在这里插入图片描述

def hello_c(name):
    print('你好',name)
def hello_e(name):
    print('hello',name)
def hello_j(name):
    print('kaoni',name)

lang={'c':hello_c,'e':hello_e,'j':hello_j,'r':lambda name:print('aaaaaa',name)}
while True:
    name=input('please input your name:\n')
    if name=='stop':
        break
    language=input('chinese => c\nenglish => e\njanpa => j\nrussian => r\n')
    lang.get(language)(name)
  1. 将一组函数封装起来
def hello_c(name):
    print('你好',name)
def hello_e(name):
    print('hello',name)
def hello_j(name):
    print('kaoni',name)
def hello(action,name):#action参数可以是以上的函数名,通过调用hello函数来调用以上所有函数
    action(name)
hello(hello_c,'pang')

函数工具:

1. map(函数,可迭代对象)–返回的类型就是map对象

ps:生成1~21顺序列表:
l=list(range(1,21))
例:从列表中找到偶数组成新列表

l=list(range(1,21))
#推导法
result=[x for x in l if x%2==0]
print(result)
#循环法
for n in l:
     if n % 2 ==0:
        result.append(n)
print(result)
#map()
def search(x):
    if x%2==0:
        return x
result=list(map(search,l))
#map(函数,可迭代对象),表示从l中获取值用于前面的函数

2. filter(函数,可迭代对象)—返回的类型是filter对象,不能直接打出列表,但是可以以filter对象的身份打出来。

#两种方法
#1.正常函数
def choose(x):
    if x%2==0:
        return x
l=list(range(1,21))

re=filter(choose,l)#re里是filter对象,不能直接打出列表,需要转换
#打出filter对象
for i in re:
    print(i,end=' ')
#转化列表存储
res=[]
res=list(re)
#2.lambda
re=filter(lambda n:n%2==0,l)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值