匿名函数

1.什么是匿名函数

  def定义的是有名函数:特点是可以通过名字重复调用

    def func():#func=函数的内存地址

      pass

  匿名函数就是没有名字的函数:特点是只能在定义时使用一次

 

2.为何要用匿名函数

  强调:

    匿名函数的定义就相当于只产生一个变量值,而没有绑定任何名字,

    所以会在定义完之后就被回收,无法重复使用,只能在定义时使用一次

  应用:当某一个功能仅使用一次就没有再重复使用的必要了,就应该定义成匿名函数

3.如何用匿名函数

max:

salaries={'egon':3000,
          'lii':5000,
          'yyh':10000}


取最大值:
print(max(salaries,key=lambda k:salaries[k]))
取最小值
print(min(salaries,key=lambda k:salaries[k]))
View Code

sorted排序:

salaries={'egon':3000,
          'lii':5000,
          'yyh':10000}


从小到大
print(sorted(salaries,key=lambda k:salaries[k]))
从大到小
print(sorted(salaries,key=lambda k:salaries[k],reverse=True))
View Code

map:

names = ['alex', 'wupeiqi', 'yuanhao', 'kevin', 'hu老师']

列表生成式:
new_names=[name + 'sb' for name in names]
print(new_names)

map+匿名函数:
res = map(lambda x :x+'sb',names)
print(list(res))
View Code

reduce:

from functools import reduce
print(reduce(lambda x,y:x+y,[i for i in range(101)]))
print(reduce(lambda x,y:x+y,['h','e','l','l','o'],'----------'))
View Code

filter:筛选

names = ['alex_dsb', 'wxx_sb', 'kevin_sb', 'hu_sb', 'egon']

new_names = [name for name in names if name.endswith('sb')]
print(new_names)
View Code

 

转载于:https://www.cnblogs.com/xiamenghan/p/9767578.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值