匿名函数

定义匿名函数

我们之前定义的函数都是有名函数, 我们可以通过函数名来调用

匿名函数顾名思义就是一种没有绑定函数名的函数, 使用一次既被回收

  • 匿名函数结构: lambda 参数 : 返回值
# 输入两个参数, 返回两个参数得和
lambda x, y: x+y

匿名函数的使用

我们如何使用匿名函数呢? 由于匿名函数的特性, 匿名函数通常与其他内置方法联用

  • max()/min() + 匿名函数
# 取出年龄最大者的姓名
age_dict = {
'bigb': 20,
'blake': 22,
'tom': 24,
'jason': 26
} # 有名函数实现方法
def func(name):
return age_dict[name] res = max(age_dict, key=func)
print(res) # jason
'''
max()方法会遍历age_dict得到key
将key依次传入func中, 返回年龄
再对年龄排序,得到最大值
''' # 匿名函数实现方法
res = max(age_dict, key=lambda name: age_dict[name])
print(res) # jason
  • filter() + 匿名函数
# 取出年龄大于22岁者的姓名
age_dict = {
'bigb': 20,
'blake': 22,
'tom': 24,
'jason': 26
} res = filter(lambda name: age_dict[name] > 22, age_dict)
print(list(res)) # ['tom', 'jason']
'''
filter()方法会遍历age_dict得到key
将key依次传入匿名函数, 返回大于22
res本质上是迭代器对象
'''
  • map() + 匿名函数
# 返回由(lis元素+2)组成的列表
lis = [1, 2, 3] def func(item):
return item + 2 res = map(func, lis)
print(list(res)) # [3, 4, 5] # 匿名函数实现方法
res = map(lambda item: item + 2, lis)
print(list(res)) # [3, 4, 5]
  • sorted() + 匿名函数
# 将四个人姓名按年龄降序排列
age_dict = {
'bigb': 20,
'blake': 22,
'tom': 24,
'jason': 26
} def func(name):
return age_dict[name] res = sorted(age_dict, key=func, reverse=True)
print(res) # ['jason', 'tom', 'blake', 'bigb'] # 匿名函数实现方法
res = sorted(age_dict, key=lambda name: age_dict[name], reverse=True)
print(res) # ['jason', 'tom', 'blake', 'bigb']

内置函数

  • enumerate() 返回包含元素索引和元素的对象
lis = [1, 2, 3]
for ind,val in enumerate(lis):
print(ind, val) '''
0 1
1 2
2 3
'''
  • eval() 去除字符串的引号, 留下来什么就是什么
s = '[1, 2, 3]'
print(type(eval(s)), eval(s)) # <class 'list'> [1, 2, 3]
  • divmod() 取整取余
  • chr/ord ASCII和字母转换
  • hash 是否可哈希
  • bytes 解码字符
  • round 四舍五入
  • dir 列出模块所有方法
  • globals/locals 列出所有全局变量/列出当前位置所有变量
  • pow 求次方
  • any/all 迭代对象内的元素有一个为True则为True/所有为True则为True
  • abs 绝对值
  • sum 求和

Python3 函数进阶3的更多相关文章

  1. 5 Python3 函数进阶&迭代器与生成器

    1.函数进阶 1.1.名称空间 又名name space, 顾名思义就是存放名字的地方,存什么名字呢?举例说明,若变量x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的 ...

  2. Python3 函数进阶2

    目录 迭代器 可迭代对象 迭代器对象 总结和补充 列表推导式 字典生成式 zip()函数 递归 迭代器 迭代器是访问容器类数据类型元素的一种方式 迭代器是一个可以记住遍历的位置的对象 迭代器对象从容器 ...

  3. Python3 函数进阶1

    目录 闭包函数 什么是闭包函数 闭包函数的作用 装饰器 什么是装饰器 无参装饰器 有参装饰器 闭包函数 什么是闭包函数 闭包函数本质上就是函数嵌套和高阶函数 闭包函数的满足条件: 必须嵌套函数 内嵌函 ...

  4. python3函数进阶

    1.命名空间和作用域 命名空间     加载         内置命名空间             python解释器自带的变量和函数             开启python解释器自动加载内置命名空 ...

  5. 洗礼灵魂,修炼python(25)--自定义函数(6)—从匿名函数进阶话题讲解中解析“函数式编程”

    匿名函数进阶 前一章已经说了匿名函数,匿名函数还可以和其他内置函数结合使用 1.map map():映射器,映射 list(map(lambda x:x*2,range(10))) #把range产生 ...

  6. 10.Python初窥门径(函数进阶)

    Python(函数进阶) 一.函数的传参(接上期) 形参角度(一共四种,后两种) 动态参数(万能参数)* # 定义一个函数时,*所有的位置参数聚合到一个元组中 def func(*args): # * ...

  7. 全面系统Python3入门+进阶课程 ✌✌

    全面系统Python3入门+进阶课程 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 无论是大数据.人工智能还是机器学习,Python都是最热门的首选语言 ,这 ...

  8. 深入理解javascript函数进阶系列第一篇——高阶函数

    前面的话 前面的函数系列中介绍了函数的基础用法.从本文开始,将介绍javascript函数进阶系列,本文将详细介绍高阶函数 定义 高阶函数(higher-order function)指操作函数的函数 ...

  9. python3函数

    一.python3函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.可以自己创建函数,这被叫做用户自定义函数. 1.定义函数规则 函 ...

随机推荐

  1. (二)初识NumPy库(数组的操作和运算)

    本章主要介绍的是ndarray数组的操作和运算! 一. ndarray数组的操作: 操作是指对数组的索引和切片.索引是指获取数组中特定位置元素的过程:切片是指获取数组中元素子集的过程. 1.一维数组的 ...

  2. nyoj 38-布线问题(prim, sort)

    38-布线问题 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:5 submit:11 题目描述: 南阳理工学院要进行用电线路改造,现在校长要求设计师 ...

  3. Redis系列(二):Redis高可用集群

    一.集群模式 Redis集群是一个由多个主从节点组成的高可用集群,它具有复制.高可用和分片等特性 二.集群部署 1.环境 3台主机分别是: 192.168.160.146 192.168.160.15 ...

  4. 国内开源C# WPF控件库Panuon.UI.Silver强力推荐

    国内优秀的WPF开源控件库,Panuon.UI的优化版本.一个漂亮的.使用样式与附加属性的WPF UI控件库,值得向大家推荐使用与学习. 今天站长(Dotnet9,站长网址:https://dotne ...

  5. 浅谈Python中函数式编程、面向对象编程以及古怪的PythonIC

    1.函数式编程作为结构化编程的一种,正在受到越来越多的重视.那么什么事函数式编程呢? 在维基百科中给出了详细的定义,函数式编程又称泛函数编程,是一种编程规范,它将函数运算视为数学上的函数计算.简单的来 ...

  6. Java 从入门到进阶之路(十)

    之前的文章我们介绍了一下 Java 中的引用型数组类型,接下来我们再来看一下 Java 中的继承. 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继 ...

  7. PHP根据经纬度获取在范围坐标的数据

    // 计算范围,可以做搜索用户 function GetRange($lat,$lon,$raidus){ //计算纬度 $degree = (24901 * 1609) / 360.0; $dpmL ...

  8. python中68个内置函数的总结

    内置函数 内置函数就是python给你提供的, 拿来直接用的函数, 比如print., input等. 截止到python版本3.6.2 python一共提供了68个内置函数. #68个内置函数 # ...

  9. 机器学习笔记(六) ---- 支持向量机(SVM)【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  10. python原类、类的创建过程与方法

    今天为大家介绍一下python中与class 相关的知识-- 获取对象的类名 python是一门面向对象的语言,对于一切接对象的python来说,咱们有必要深入的学习与了解一些知识 首先大家都知道,要 ...