三元表达式、递归、二分法、匿名函数、内置函数

三元表达式:

def max2(x,y):
    if x>y:
        return x
    else:
        return y
res=max2(10,11)
print(res)
x=10
y=11
三元表达式仅应用于:
1.条件成立返回一个值
2.条件不成立返回一个值
res=x if x>y else y
print(res)
def max2(x,y):
    return x if x>y else y
print(max2(10,11))

函数的递归、二分法

函数递归:函数的递归调用,即在函数调用的过程中,又直接或间接地调用了函数
import sys
print(sys.getrecursionlimit())
sys.setrecursionlimit(10000)
print(sys.getrecursionlimit())
def foo():
    print(‘from foo‘)
    foo()
foo()
def bar():
    print(‘from bar‘)
    foo()
def foo():
    print(‘from foo‘)
    bar()
foo()

递归分为两个阶段

1.回溯:

注意:一定要在某种条件下结束回溯,否则的无限循环下去

2.递推

总结:

1.递归一定要有一个明确地结束条件

2.没进入下一次递归,问题的规模都应该减少

3.在python中没有尾递归优化

age(5)=age(4)+2
age(4)=age(3)+2
age(3)=age(2)+2
age(2)=age(1)+2
age(1)
age(n)=age(n-1)+2
age(n)=18

def age(n):
    if n==1:
        return 18
    return age(n-1)+2
age(5)
回溯  age(5)
 ______
 age(4)+2

 age(4)
 ______
 age(3)+2

age(3)
 ______
 age(2)+2

 age(2)_________
 age1+2

age1=18
递推:
age(1)
_______
18

age(2)
________
age(1)+2

age(3)
_______
age(2)+2

age(4)
_______
age(3)+2

age(5)
______
age(4)+2

while和递推的区别:

while需要明确多少次循环

而递推只需要知道怎么循环的,至于多少次循环,没必要写。

item2=[1,[2,[3,[4,[5,[6,[7,[8,[9,[10]]]]]]]]]]
def tell(l):
    for item in l:
        if type(item) is not list:
            print(item)
        else:
            tell(item)
tell(items)

匿名函数:

1.没有名字的函数。不会单独使用,通常场情况下会与其他函数连用。

2.匿名函数的参数规则,作用域关系与有名函数是一样的

3.匿名函数的函数体通常应该是一个表达式,该表达式必须要有返回值

def foo(x,n):
    return x**n
f=lambda x,n:x**n
f()

lambda自带return,所以不需要再加return

内置函数:max、min、sorted、map、filter、reduce等等

#lambda匿名函数的应用:
#max,min,sorted,map,filter,reduce
salaries={‘egon‘:3000,
‘alex‘:1000000,
‘wupeiqi‘:10000,
‘yuanhao‘:2000}

#求工资最高的那个人是谁print(max(salaries,key=lambda x:salaries[x]))#求工资最低的那个人是谁print(min(salaries,key=lambda x:salaries[x]))
把薪资字典,按照薪资的高低排序
num=[1,11,9]
num=sorted(num).   默认是升序
print(num)salaries={‘egon‘:3000,‘alex‘:1000000,‘wupeiqi‘:10000,‘yuanhao‘:2000}

salaries=sorted(salaries,key=lambda x:salaries[x])默认是升序salaries=sorted(salaries,key=lambda x:salaries[x],reverse=True)print(salaries)
names=[‘alex‘,‘wupeiqi‘,‘yuanhao‘]

res=map(lambda x:x+‘_SB‘,names)

print(list(res))
names=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,‘egon‘]
res=map(lambda x:x+‘_sb‘,names)电脑输出:[‘alex_sb‘,‘wupeiqi_sb‘,‘yuanhao_sb‘]
names=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,‘egon‘]
res=map(lambda x:x+‘_NB‘ if x==‘egon‘ else x+‘_sb‘,names)
print(list(res))电脑输出:[‘alex_sb‘,‘wupeiqi_sb‘,‘yuanhao_sb‘,‘egon_NB‘]

原文地址:https://www.cnblogs.com/wuchenyu/p/8696128.html

时间: 2024-10-12 02:43:59

三元表达式、递归、二分法、匿名函数、内置函数的相关文章

4/2 三元表达式/函数递归/匿名函数/内置函数

三元表达式 def max2(x,y) if x > y: return x else return y res=max2(10,11) 三元表达式仅应用于: 1 条件成立返回一个值 2 条件不成功返回一个值 def max2(x,y): return x if x>y else y print (max2(2,10)) 10 函数递归:函数的递归调用,即在函数调用的过程中,又直接或间接地调用了函数的本身. 直接调用 def foo(): print ('fffff') foo() 间接调用

生成器 三元表达式 列表生成式 匿名函数 内置函数

生成器 1.什么是生成器? ? -生成的工具 ? -生成器是一个自定义的迭代器,本质上是一个迭代器. 2.如何实现生成器? -但凡在函数内定义的yield ? -调用函数时,函数体代码不会执行 ? 会返回一个结果,这个结果就是生成器. 3.yield ? -每一次的yield都会往生成器对象中添加一个值. ? -yield只能在函数内定义 ? -yield可以保存函数的暂停状态 yield和return的对比 ? -相同点: ? 返回值的是不限制的: ? -不同点 ? return一次只可以返回

函数递归+匿名函数+内置函数day15

一.函数递归 什么是函数递归: 函数递归调用是一种特殊的嵌套调用,在调用一个函数的过程中,又直接或间接地调用了该函数本身. 其中,函数的递归有明确的结束条件,不能无限制的调用,否则会撑破内存,在Python中限定递归最多调用1000层. 1000层这个值是大概的数值,这个数值可以通过Python内置的功能进行更改. 递归必须要有两个明确的阶段: 递推:一层层递归调用下去,强调每次进入下一次递归,问题规模都在减小 回溯:递归必须要有一个明确的结束条件,在满足该条件时结束递推,开始一层层回溯 其中,

学习python的第十七天(二分法,有名函数,匿名函数,内置函数)

06.04 学习总结 一.二分法 二分法个人理解是一种算法的方式在一个有序的序列,区中间值,把中间值与想要的值进行对比从而一次一次的减少搜索范围举例 #给与一个列表1-100, num_list = [num fornum in range(1,101)] #给予一个num让你在列表中寻找他 mid_num_index = int(len(num_list)/2) mid_num = num_list[mid_num_index] if len(num_list)==1: if num_list

python基础12_匿名_内置函数

一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, 66] def binary_search(dataset, find_num): print(dataset) if len(dataset) > 1: mid = int(len(dataset) / 2) if dataset[mid] == find_num: # find it print

函数-内置函数,匿名函数,嵌套函数,高阶函数,序列化

函数简单说明 # 函数即"变量" # 高阶函数 # a.把一个函数名当做实参传给另一个函数(在不修改被装饰函数的源代码的情况下,为其添加功能) # b.返回值中包含函数名(不修改函数的调用方式) ''' import time def bar(): print("in the bar!") time.sleep(2) def foo(func): start_time = time.time() func() #根据内存地址,执行代码 stop_time = tim

Python学习(五)函数 —— 内置函数 lambda filter map reduce

Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.filter.map.reduce 进行初步的学习. lambda 匿名函数 lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值. lambda语句构建的其实是一个函数对象,参考下例来感受下 lambda 匿名函数: 1 def f(i): # 用户自定义返回平方数 2 retur

pythopn 函数(内置函数)

内置函数(Py3.5) 重要的内置函数: 1. filter(function, sequence) # 描述: filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表. 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判, 然后返回 True 或 False,最后将返回 True 的元素放到新列表中. # 语法: 以下是 filter() 方法的语法: filter(function,sequence) # 参数: funct

python测试开发(01-递归函数+内置函数)

# 生成器三个方法:send,close throw# send()发送数据 f# def gen():# for i in range(10):# j=yield i# print(j)# g=gen()## print(next(g))# print(g.send(100))# print(next(g))# print(next(g))# print(g.send(10000))# print(next(g))## close()关闭生成器# g.close()# print(g.send

Mysql函数(内置函数,自定义函数)

简述 SQL:结构化查询语言,是一门编程语言,是用于管理数据库的编程语言. 元素:数据,数据类型,变量,函数,流程控制,运算符,注释. 注释: 行: # –[空格] 块: /* */ select * from swpu_stu #where id=2; ; select * from swpu_stu -- where id=2; ; 结束符: select * from swpu_stu where id=2\g select * from swpu_stu where id=2\G 可以使