一、三元运算符

三元运算符也称三目运算符,就是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. 异步加载js的三种方法

    js加载时间线 : 它是根据js出生的那一刻开始记录的一系列浏览器按照顺序做的事,形容的就是加载顺序,可以用来优化什么东西,理论基础,背下来. 1.创建Document对象,开始解析web页面.解析H ...

  2. mysql innodb存储引擎和一些参数优化

    mysql 的innodb存储引擎是事务性引擎,支持acid.innodb支持版本控制和高并发的技术是svcc:需要重点注意:myisam只缓存索引,innodb缓存索引和数据:

  3. Android连续点击多次事件的实现

    有时候我们需要实现这样的场景,类似进入开发者模式,即多次点击后执行操作. 首先我们先看一个方法: System提供的一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制. publi ...

  4. Android 7.0及以上使用OpenCL

    由于从Android 7.0, API 24, 开始, 系统将阻止应用链接至非公开NDK库, 所以, 使用libOpenCL.so时与面向低版本的Android平台有所不同, 需要把依赖的非公开NDK ...

  5. Java内存管理的进一步理解-模拟过程图解

    Java内存管理的进一步理解-模拟过程图解--转载 java的内存管理分为: 1.堆内存:2.栈内存:3.方法区:4.本地方法区 /* 1:方法区      方法区存放装载的类数据信息包括:      ...

  6. 如何关闭tornado.web的Application

    研究热更新Python程序时,需要将已有的HTTP服务器重启. 我的HTTP服务器是用tornado.web.Application生成的,这样很简单: import tornado.web weba ...

  7. 第五周课后作业——热门软件创新分析+附加题1&附加题3

    鉴于我们寝室都热衷于手游,所以本次热门软件创新分析我就来分析一下几款热门的抽卡型手游.   阴阳师(后文简称YYS)——剧情画风唯美,配音引人入胜 作为网易公司研发的一款3D日式和风回合制游戏,YYS ...

  8. Nginx反向代理实现IP访问分流

    通过Nginx做反向代理来实现分流,以减轻服务器的负载和压力是比较常见的一种服务器部署架构.本文将分享一个如何根据来路IP来进行分流的方法. 根据特定IP来实现分流 将IP地址的最后一段最后一位为0或 ...

  9. LeetCode算法题-Binary Tree Tilt(Java实现)

    这是悦乐书的第263次更新,第276篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第130题(顺位题号是563).给定二叉树,返回整棵树的倾斜度.树节点的倾斜被定义为所有 ...

  10. MySql 学习之路-Date函数

    MySQL中重要的内建函数 函数 描述 NOW() 返回当前的日期和时间 NOW() 返回当前的日期和时间. 语法 NOW() -- 实例 -- 下面是 SELECT 语句: SELECT NOW() ...