;。【】DAY14、递归,匿名函数
一、三元运算符
三元运算符也称三目运算符,就是if .....else.....语法糖
前提:if 和 else 只有一条语句
例:a = 20
b = 30
res = a if a > b else b #求最大值
三元运算符的结果不一定要与条件直接有关系
二、推导式:列表(元组)与字典的转换语法糖
1、列表(元组)推导式
dic = {'a':1,'b':2,'c':3}
res = [(k, v) for k , v in dic .items()]
print(res) #[('a',1),('b',2),('c',3)]
元组直接在得到的列表的基础上tuple转一下就可以了
2、字典推导式
l = [('a',1),('b',2),('c',3)]
res = {k: v for k ,v in l}
print res #dic = {'a':1,'b':2,'c':3}
案例:
range 可以被推导为列表
res_ls = [arg for arg in range(10)]
print(res) # [0,1,2,3,4,5,6,7,8,9]
迭代出可解压为单列容器的就可以推导出字典
res_dic = {v: k for k, v in enumrate('abc')}
print(res_dic) #{'a': 0 , 'b' : 1 , 'c' : 2}
3、列表推导式格式:
[k for k in iter if 筛选条件]
三、递归:回溯与递推
回溯:询问答案的过程
递推:推出答案的过程
1、前提:
回溯到一个有具体结果的值,开始递推
回溯与递推的条件要有规律
2、递归本质:函数的自我调用
def a():
global count
count += 1
if count > 50:
return
a()
a() #自己调自己
def b():
c()
def c():
d()
def d():
b()
b() #间接调自己,一旦形成循环调用,就产生了递归
四、匿名函数:没有名字的函数,没有函数体,只有一个返回值
语法:lambda 参数列表 一个返回值表达式
lambda x,y : x + y
应用场景:
1、匿名函数函数地址可以被一个变量接受,该变量就可以作为函数名来使用,但就违背了匿名的初衷
2、结合内置函数来使用:内置函数某些参数需要一个函数地址,可以赋值一个有名函数名,也可以直接赋值匿名函数
;。【】DAY14、递归,匿名函数的更多相关文章
- Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数
本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...
- day 15递归 匿名函数
三元表达式 目的是简化书写 局限性:三元表达式智能简化仅有两个分支的if判断,而且这个判断无论是否成立都必须要返回值 res = True if age >=18 else False 递归: ...
- day13 内置函数二 递归,匿名函数,二分法
.匿名函数(名字统一叫lambda) .语法 lambda 参数:返回值 .参数可以有多个,用逗号隔开 .只能写一行,执行结束后直接返回值 4返回值和正常函数一样,可以是任意值 .列: f=lambd ...
- python函数3-函数嵌套/递归/匿名函数
2 .函数递归: 3.匿名函数
- (转)Javascript匿名函数的写法、传参、递归
(原)http://www.veryhuo.com/a/view/37529.html (转)javascript匿名函数的写法.传参和递归 javascript匿名函数的写法.传参和递归 http: ...
- (转)javascript匿名函数的写法、传参和递归
(原)http://www.veryhuo.com/a/view/37529.html (转)javascript匿名函数的写法.传参和递归 http://www.veryhuo.com 2011-0 ...
- python协程函数、递归、匿名函数与内置函数使用、模块与包
目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a. ...
- python之旅:三元表达式、列表推导式、生成器表达式、函数递归、匿名函数、内置函数
三元表达式 #以下是比较大小,并返回值 def max2(x,y): if x > y: return x else: return y res=max2(10,11) print(res) # ...
- python基础编程: 编码补充、文件操作、集合、函数参数、函数递归、二分查找、匿名函数与高阶函数
目录: 编码的补充 文件操作 集合 函数的参数 函数的递归 匿名函数与高阶函数 二分查找示例 一.编码的补充: 在python程序中,首行一般为:#-*- coding:utf-8 -*-,就是告诉p ...
- 递归函数, 匿名函数, yield from
递归函数 函数执行流程 http://pythontutor.com/visualize.html#mode=edit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 ...
随机推荐
- 我的第三个开源库GuaJiangViewDemo——中文文档
GuaJiangViewDemo 欢迎Star 一个可以简单的刮刮奖View的封装 测试图 使用 1.在根目录上添加 maven { url 'https://jitpack.io' } 2.添加依赖 ...
- 日志收集ELK+kafka相关博客
SpringBoot+kafka+ELK分布式日志收集 使用 logstash + kafka + elasticsearch 实现日志监控 Kibana 安装 与 汉化 windows系统安装运行f ...
- js 数组插入和删除处理
function insertArray(arr, val, compare, maxLen) { //返回位置 const index = arr.findIndex(compare) if (in ...
- cSharp:反射 Reflection
/// <summary> /// 利用反射调用插件方法 /// 涂聚文(Geovin Du) /// 2019-03-27 /// /// </summary> /// &l ...
- matlab练习程序(水波特效)
还记得原来写过一个对图像进行波纹扭曲操作的博文. 这次实现的是水波特效,其实就是通过正余弦函数表示波纹中心位置慢慢向外扩散,通过叠加衰减因子使振幅不断减小,进而产生水波的效果. 效果如下: 原图: 波 ...
- JavaScript中的闭包和作用域链
这部分几乎是JavaScript中最难的部分,也是面试官最爱问的地方. 下面的内容是我以前写的<JavaScript学习手册>中被客户删除的部分,理由听起来有点诡异:太难.
- ORACLE当中自定义函数性优化浅析
为什么函数影响性能 在SQL语句中,如果不合理的使用函数(Function)就会严重影响性能,其实这里想说的是PL/SQL中的自定义函数,反而对于一些内置函数而言,影响性能的可能性较小.那么为什么SQ ...
- python:过滤字符串中的字母数字特殊符号
今天遇到的字符串处理的问题,记录一下方便使用 str1 = input('请输入一个字符:') #初始化字符.数字.空格.特殊字符的计数 lowercase = 0 uppercase = 0 num ...
- C语言----int (*p)[4] ---思考总结
a+1 跳4个int (*a)+1 跳一个int
- Kubernetes-基于flannel的集群网络
1.Docker网络模式 在讨论Kubernetes网络之前,让我们先来看一下Docker网络.Docker采用插件化的网络模式,默认提供bridge.host.none.overlay.maclan ...