python基础--递归、三元表达式、列表(字典)生成式、匿名函数、常用的内置函数
函数的递归:函数在调用阶段直接或者间接的又调用自身
递归的两个阶段:
1、回溯:就是一次次重复的过程,这个重复的过程必须建立在每一次重复问题的复杂度都是应该下降的,直接有一个最终的结束条件(这个结束条件是必须的,否则就不会结束,直到到当前递归的最大层数然后报错)
2、递推:一次次往回推导的过程
如何查看当前递归的最大层数:
import sys
print(sys.getrecursionlimit())
# 如果想自定义最大层数, 也可以对括号中进行传参
二分查看算法:二分算法的推导过程
三元表达式:
res = x if x > y else y
# 如果if后面的条件成立就返回if前面的值,否则就返回else后面的值
生成式:
列表生成式:是python内置的用来生成list的生成式,在写列表生成式的时候把要生成的元素放在最前面,后面跟着for循环,就可以将list创建出来了,当前for 循环后面还可以跟着if判断,这样我们就可以筛选出我们想要的元素了,这是一种十分便捷的方法
字典生成式:
list4=[('name','zhagnsan'),('age',22),('phone',110)]
#for循环遍历列表,将列表中小元组的key和value取出,作为字典的key:value
dict_1={key:value for key,value in list4}
print(dict_1)
匿名函数:lambda x: x * x
关键字lambda表示匿名函数,冒号前面的x表示函数的参数。
匿名函数有一个限制就是只能是一个表达式,不用写return,返回值就是该表达式的结果。、
好处:匿名函数是没有名字的,所以就不用担心会产生函数名字的冲突。此外匿名函数也是一个函数对象,也可以将匿名函数赋值给一个变量,再利用变量来对这个匿名函数进行调用。
常用的内置函数:
max():返回最大值
filter():基于for 循环的筛选出结果只为True的参数,并返回
min():返回最小值
reduce():这个需要导入:from functools import reduce 在reduce中第三个参数可以传入一个初始化的参数,用来当作初始值进行计算
zip():拉链,基于for循环实现的
map():映射
sort():排序,可以设置升序和降序
python基础--递归、三元表达式、列表(字典)生成式、匿名函数、常用的内置函数的更多相关文章
- Python基础学习笔记(七)常用元组内置函数
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-tuples.html 3. http://www.liaoxue ...
- python常用的内置函数哈哈
python常用的内置函数集合做一个归类用的时候可以查找 abs 返回数字x的绝对值或者x的摸 all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为true,就 ...
- python常用的内置函数
python常用的内置函数集合做一个归类用的时候可以查找- abs 返回数字x的绝对值或者x的摸 - all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为tru ...
- python 函数 装饰器 内置函数
函数 装饰器 内置函数 一.命名空间和作用域 二.装饰器 1.无参数 2.函数有参数 3.函数动态参数 4.装饰器参数 三.内置函数 salaries={ 'egon':3000, 'alex':10 ...
- day15生成器send方法,递归,匿名函数,max结合匿名工作原理,常用的内置函数
复习 ''' 1.带参装饰器 - 自定义 | wraps def wrap(info) def outer1(func): from functools import wraps @wraps(fun ...
- python递归-三元表达式-列表生成式-字典生成式-匿名函数-部分内置函数-04
递归 递归: # 函数在调用阶段直接或间接地又调用了自身 应用场景: # 将列表中的数字依次打印出来(循环的层数是你必须要考虑的点) --> l = [1, [2, [3, [4, [5, ...
- Python 函数递归-三元表达式-列表生成式-字典生成式-匿名函数-内置函数
上节课复习: 1. 无参装饰器 def 装饰器名字(func): def wrapper(*args,**kwargs): res = func(*args,**kwargs) return res ...
- Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数
本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...
- Python学习笔记——常用的内置函数
一.yield def EricReadlines(): seek = 0 while True: with open('D:/temp.txt','r') as f: f.seek(seek) da ...
随机推荐
- 二分图——poj2446匈牙利算法
/* 怎么建图: 首先分集合:不能相连的点必然在一个集合里,即对角点 再确定怎么连边: 一个点可以向上下左右连边,如果遇到了洞则不行 dfs(i),让匹配到的点接受i作为match结果 寻找增广路时, ...
- 第九章 Odoo 12开发之外部 API - 集成第三方系统
Odoo 服务器端带有外部 API,可供网页客户端和其它客户端应用使用.本文中我们将学习如何在我们的客户端程序中使用 Odoo 的外部 API.为避免引入大家所不熟悉的编程语言,此处我们将使用基于 P ...
- Python(三)基础篇之「模块&面向对象编程」
[笔记]Python(三)基础篇之「模块&面向对象编程」 2016-12-07 ZOE 编程之魅 Python Notes: ★ 如果你是第一次阅读,推荐先浏览:[重要公告]文章更新. ...
- hibernate 映射总结
单向一对多实体配置:在一的实体中设置多的一方SET集合配置文件:在一的一方用set 设置 one to many表配置:多方表的外键指向一方表的主键; 双向一对多实体配置:在一的实体中设置多的一方SE ...
- centos 以太坊多节点私链搭建
环境 centos 7 搭建 3 个节点的 私链. 第一步 安装 一些依赖的 工具 yum update -y && yum install git wget bzip2 vim ...
- MyBatis与JPA的区别
参考博客: https://www.cnblogs.com/llywy/p/10103136.html https://www.jianshu.com/p/32ce87c163d6 MyBatis分为 ...
- 08-5-switch
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- elasticsearch river 从数据库中导入数据
Elasticsearch中使用reiver-jdbc导入数据 2014-05-13 15:10 本站整理 浏览(3384) Elasticsearch中使用reiver-jdbc导入数据,有 ...
- HLog工作原理
- Gartner首推机密计算:阿里云名列其中
近日,全球信息技术研究机构Gartner发布了2019年云安全技术成熟度曲线报告(Gartner, Hype Cycle for Cloud Security, 2019, Jay Heiser, S ...