前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >匿名函数

匿名函数

作者头像
py3study
发布2020-01-16 12:30:55
5130
发布2020-01-16 12:30:55
举报
文章被收录于专栏:python3

目录

有名函数(掌握)

我们之前定的函数都是有名函数,它是基于函数名使用。

代码语言:javascript
复制
def func():
    print('from func')


func()
func()
func()
print(func)
代码语言:javascript
复制
from func
from func
from func
<function func at 0x108e32400>

匿名函数(掌握)

匿名函数,他没有绑定名字,使用一次即被收回,加括号既可以运行。

代码语言:javascript
复制
lambda x, y: x+y
代码语言:javascript
复制
<function __main__.<lambda>(x, y)>
代码语言:javascript
复制
res = (lambda x, y: x+y)(1, 2)
print(res)
代码语言:javascript
复制
3

与内置函数联用(掌握)

匿名函数通常与max()、min()、filter()、sorted()方法联用。

代码语言:javascript
复制
salary_dict = {
    'nick': 3000,
    'jason': 100000,
    'tank': 5000,
    'sean': 2000
}

1.如果我们想从上述字典中取出薪资最高的人,我们可以使用max()方法,但是max()默认比较的是字典的key。

  1. 首先将可迭代对象变成迭代器对象
  2. res=next(迭代器对象),将res当做参数传给key指定的函数,然后将该函数的返回值当做判断依据
代码语言:javascript
复制
salary_dict = {
    'nick': 3000,
    'jason': 100000,
    'tank': 5000,
    'sean': 2000
}

print(f"max(salary_dict): {max(salary_dict)}")


def func(k):
    return salary_dict[k]


print(f"max(salary_dict, key=func()): {max(salary_dict, key=func)}")
# 'nick', v1 = func('nick')
# 'jason', v2 = func('jason')
# 'tank', v3 = func('tank')
# 'sean', v4 = func('sean')


print(
    f"max(salary_dict, key=lambda name: salary_dict[name]): {max(salary_dict, key=lambda name: salary_dict[name])}")
代码语言:javascript
复制
max(salary_dict): tank
max(salary_dict, key=func()): jason
max(salary_dict, key=lambda name: salary_dict[name]): jason

2.如果我们想从上述字典中取出薪资最低的人,我们可以使用min()方法,但是min()默认比较的是字典的key。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 有名函数(掌握)
  • 匿名函数(掌握)
  • 与内置函数联用(掌握)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档