Python3 函数进阶3
匿名函数
定义匿名函数
我们之前定义的函数都是有名函数, 我们可以通过函数名来调用
匿名函数顾名思义就是一种没有绑定函数名的函数, 使用一次既被回收
- 匿名函数结构:
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的更多相关文章
- 5 Python3 函数进阶&迭代器与生成器
1.函数进阶 1.1.名称空间 又名name space, 顾名思义就是存放名字的地方,存什么名字呢?举例说明,若变量x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的 ...
- Python3 函数进阶2
目录 迭代器 可迭代对象 迭代器对象 总结和补充 列表推导式 字典生成式 zip()函数 递归 迭代器 迭代器是访问容器类数据类型元素的一种方式 迭代器是一个可以记住遍历的位置的对象 迭代器对象从容器 ...
- Python3 函数进阶1
目录 闭包函数 什么是闭包函数 闭包函数的作用 装饰器 什么是装饰器 无参装饰器 有参装饰器 闭包函数 什么是闭包函数 闭包函数本质上就是函数嵌套和高阶函数 闭包函数的满足条件: 必须嵌套函数 内嵌函 ...
- python3函数进阶
1.命名空间和作用域 命名空间 加载 内置命名空间 python解释器自带的变量和函数 开启python解释器自动加载内置命名空 ...
- 洗礼灵魂,修炼python(25)--自定义函数(6)—从匿名函数进阶话题讲解中解析“函数式编程”
匿名函数进阶 前一章已经说了匿名函数,匿名函数还可以和其他内置函数结合使用 1.map map():映射器,映射 list(map(lambda x:x*2,range(10))) #把range产生 ...
- 10.Python初窥门径(函数进阶)
Python(函数进阶) 一.函数的传参(接上期) 形参角度(一共四种,后两种) 动态参数(万能参数)* # 定义一个函数时,*所有的位置参数聚合到一个元组中 def func(*args): # * ...
- 全面系统Python3入门+进阶课程 ✌✌
全面系统Python3入门+进阶课程 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 无论是大数据.人工智能还是机器学习,Python都是最热门的首选语言 ,这 ...
- 深入理解javascript函数进阶系列第一篇——高阶函数
前面的话 前面的函数系列中介绍了函数的基础用法.从本文开始,将介绍javascript函数进阶系列,本文将详细介绍高阶函数 定义 高阶函数(higher-order function)指操作函数的函数 ...
- python3函数
一.python3函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.可以自己创建函数,这被叫做用户自定义函数. 1.定义函数规则 函 ...
随机推荐
- React动画库
npm i react-transition --save import {CSSTransition} from 'react-transition-group'
- 理解Redis单线程运行模式
本文首发于:https://mp.weixin.qq.com/s/je4nqCIq6ARhSV2V5Ymmtg 微信公众号:后端技术指南针 0.概述 通过本文将了解到以下内容: Redis服务器采用单 ...
- PHP创建对象的6种方式
创建对象实例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...
- Docker (一) 安装 Oracle18c
通过Docker 安装 Oracle18c 1.拉取 oracle18c 镜像 docker pull registry.cn-hangzhou.aliyuncs.com/zhengqing/orac ...
- python中的random模块简析
在Python生成随机数用random模块,下面的文章是本人自己简单总结的ython生成随机数与random模块中最常用的几个函数的关系,希望对大家有所帮助. random.random()用于生成随 ...
- 一个有意义的Day类
早晨去单位的路上听到电台里在说“Everyday is a new chance to change your life”,正好最近在学Python类的使用方法,于是我编了一个关于Day的类,以供参考 ...
- MATLAB工具包——curvelet变换的理解(转)
curvelet下载的curvelet工具包,有以下三个文件:fdct_usfft_matlab.fdct_wrapping_matlab.mecv三个文件夹添加到matlab路径中即可. curve ...
- ViewGroup dispatchTouchEvent方法中 mFirstTouchTarget标志是否为空的含义
在ViewGroup dispatchTouchEvent方法中首次出现mFirstTouchTarget的语句为: if (actionMasked == MotionEvent.ACTION_DO ...
- jQuery上拉加载更多
<header id="header">首 页</header> <section id="main"> <ul id ...
- 【灵魂拷问】你真的懂得Mysql的管理和使用吗?
作者 | Jeskson 来源 | 达达前端小酒馆 MySQL管理,数据库管理和数据表管理,用户管理. 初始化数据库,创建数据库,查看数据库,删除数据库. 创建数据表,查看数据表,修改数据表,删除数据 ...