一、三元运算符

三元运算符也称三目运算符,就是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、递归,匿名函数的更多相关文章

  1. Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数

    本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...

  2. day 15递归 匿名函数

    三元表达式 目的是简化书写 局限性:三元表达式智能简化仅有两个分支的if判断,而且这个判断无论是否成立都必须要返回值 res = True if age >=18 else False 递归: ...

  3. day13 内置函数二 递归,匿名函数,二分法

    .匿名函数(名字统一叫lambda) .语法 lambda 参数:返回值 .参数可以有多个,用逗号隔开 .只能写一行,执行结束后直接返回值 4返回值和正常函数一样,可以是任意值 .列: f=lambd ...

  4. python函数3-函数嵌套/递归/匿名函数

    2 .函数递归: 3.匿名函数

  5. (转)Javascript匿名函数的写法、传参、递归

    (原)http://www.veryhuo.com/a/view/37529.html (转)javascript匿名函数的写法.传参和递归 javascript匿名函数的写法.传参和递归 http: ...

  6. (转)javascript匿名函数的写法、传参和递归

    (原)http://www.veryhuo.com/a/view/37529.html (转)javascript匿名函数的写法.传参和递归 http://www.veryhuo.com 2011-0 ...

  7. python协程函数、递归、匿名函数与内置函数使用、模块与包

    目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a. ...

  8. python之旅:三元表达式、列表推导式、生成器表达式、函数递归、匿名函数、内置函数

    三元表达式 #以下是比较大小,并返回值 def max2(x,y): if x > y: return x else: return y res=max2(10,11) print(res) # ...

  9. python基础编程: 编码补充、文件操作、集合、函数参数、函数递归、二分查找、匿名函数与高阶函数

    目录: 编码的补充 文件操作 集合 函数的参数 函数的递归 匿名函数与高阶函数 二分查找示例 一.编码的补充: 在python程序中,首行一般为:#-*- coding:utf-8 -*-,就是告诉p ...

  10. 递归函数, 匿名函数, 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 ...

随机推荐

  1. SQL中# 与$ 的区别

    区别: (1)#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是id,则解析成的sql为order by "id&quo ...

  2. v8 GC机制

    1.为什么要分代 V8是Chrome浏览器的javascript解释器,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那 ...

  3. bootstrap-treeview 树形菜单带复选框以及级联选择

    <div id="searchTree"></div> <script> var treeData = [{ text: "Paren ...

  4. c++模板特化偏特化

    模板为什么要特化,因为编译器认为,对于特定的类型,如果你对某一功能有更好地实现,那么就该听你的. 模板分为类模板与函数模板,特化分为全特化与偏特化.全特化就是限定死模板实现的具体类型,偏特化就是模板如 ...

  5. Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee

    双击 勾上蓝色保存

  6. 拉勾网爬取全国python职位并数据分析薪资,工作经验,学历等信息

    首先前往拉勾网“爬虫”职位相关页面 确定网页的加载方式是JavaScript加载 通过谷歌浏览器开发者工具分析和寻找网页的真实请求,确定真实数据在position.Ajax开头的链接里,请求方式是PO ...

  7. 在windows下搭建汇编编程环境

    汇编语言程序搭建masm+debug 下载链接 dosbox:链接:https://pan.baidu.com/s/1TgkfU-d5w6Nz9TOYro1pYw 密码:mp83 masm:链接:ht ...

  8. 持续代码质量管理-SonarQube-7.3简单使用

    安装了SonarQube以及Sonar Scanner之后,就需要那代码检测了.当然为了方便我们使用已有现成的demo,知道到对应的git地址下载即可. 1. sonar-examples下载 htt ...

  9. SpringBoot2.0之四 简单整合MyBatis

    从最开始的SSH(Struts+Spring+Hibernate),到后来的SMM(SpringMVC+Spring+MyBatis),到目前的S(SpringBoot),随着框架的不断更新换代,也为 ...

  10. 3.20 总结 java程序流程控制