python匿名函数和递归

lambda

匿名函数: 为了解决一些简单的需求而设计的一句话函数

lambda函数不需要def来声明,一句话就可以声明出一个函数

语法:

函数名 = lambda 参数: 返回值

需要注意的是:

  1. 函数的参数可以有多个,多个参数之间用逗号隔开

  2. 匿名函数不管多复杂,只能写一行,切逻辑结束后直接返回数据

  2.返回值和正常的函数一样,可以是任意数据类型

匿名函数并不是说一定没有名字,这里前面的变量就是一个函数名,说他是匿名   原因是我们通过__name__查看的时候是没有名字的,统一叫lambda,在调用的是时候没有什么特别之处, 像正常的函数调用即可.

sorted()

排序函数

语法: sorted(iterable, key = None, reverse = False)

iterable: 可迭代对象

key:排序规则(排序函数) ,在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数.根据函数运算的结果进行排序

reverse : 是否是倒叙.True:倒叙, False: 正序

和函数的组合使用

和lambda组合使用

filter()

筛选函数:

语法: filter(function. iterable)

  function: 用来筛选的函数, 在filter中会自动的吧iterable中的元素传递给function,然后根据function返回True或者False 来判断是否保留此项数据

  iterable: 可迭代对象

map()

映射函数:

语法: map(function,iterable)可以对可迭代对象中的每一个元素进行映射,分别取执行function

计算列表中每个元素的平方,返回新列表

改写成lambda

计算两个列表中相同位置的数据的和

递归:

在函数中调用函数本身,就是递归

python机制:递归的最大深度是998

递归的应用:

我们可以使用递归来遍历各种树形结构,比我我们的文件夹系统,可以使用递归来遍历改文件夹中的所有文件

二分查找

二分查找.每次能够排除掉一半的数据,查找的效率非常高,但是局限性比较大,必须是有序序列才可可以使用二分查找

要求: 必须是有序序列

原文地址:https://www.cnblogs.com/ALADL/p/9341192.html

时间: 2024-11-08 16:34:32

python匿名函数和递归的相关文章

【Python之匿名函数及递归】

一.匿名函数及内置函数补充 1.语法 Python使用lambda关键字创造匿名函数.所谓匿名,意即不再使用def语句这样标准的形式定义一个函数. 语法: lambda [arg1[, arg2, ... argN]]: expression 例: 普通函数 def func(x,y): return x+y print(func) print(func(1,2)) 输出 <function func at 0x102b31f28> 3 等价的匿名函数 #匿名函数 f=lambda x,y:x

python之内置函数、匿名函数、递归

一.内置函数 内置函数详解:http://www.runoob.com/python/python-built-in-functions.html 二.匿名函数 匿名函数就是不需要显式的指定函数 1 #这段代码 2 def calc(n): 3 return n**n 4 print(calc(10)) 5 6 #换成匿名函数 7 calc = lambda n:n**n 8 print(calc(10)) 特点: 1.lambda只是一个表达式,函数体比def简单很多 2.lambda的主体是

python内置函数、匿名函数、递归

一.内置函数 内置函数详解:http://www.runoob.com/python/python-built-in-functions.html 二.匿名函数 匿名函数就是不需要显示的指定函数 #这段代码 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n:n**n print(calc(10)) l=[3,2,100,999,213,1111,31121,333] print(max(l)) dic={'k1':1

Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法

一. lamda匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 def func(n): return n**n print(func(10)) f = lambda n: n**n print(f(10)) lambda表示的是匿名函数. 不需要用def来声明, 一句话就可以声明出一个函数 语法: 函数名 = lambda 参数: 返回值 注意: 1. 函数的参数可以有多个. 多个参数之间用逗号隔开 2. 匿名函数不管多复杂. 只能写一行, 且逻辑结束后直接返回数据 3

Python基础(10)_内置函数、匿名函数、递归

一.内置函数 1.数学运算类 abs:求数值的绝对值 divmod:返回两个数值的商和余数,可用于计算页面数 >>> divmod(5,2) (2, 1) max:返回可迭代对象中的元素中的最大值或者所有参数的最大值 语法:max(iterable,key,default) 1 salaries={ 2 'egon':3000, 3 'alex':100000000, 4 'wupeiqi':10000, 5 'yuanhao':2000 6 } 7 8 print(max(salari

Python lambda匿名函数,递归应用

import os '''Lambda函数能接收任何数量的参数但只能返回一个表达式的值匿名函数不能直接调用print,因为lambda需要一个表达式'''sum = lambda x, y: x + yprint('x+y=', sum(2, 6)) '''匿名函数应用''' def test_nm(a, b, func):result = func(a, b)return result print(test_nm(20, 30, lambda x, y: x * y))print(test_n

day23 内置函数,匿名函数,递归

Python之路,Day11 = Python基础11 内置函数divmod(x, y)   # (商, 模)enumerate(可迭代对象)     # (序号,值)eval(字符串) # 把字符串当成命令执行set({1,2,3})   # 可变集合(增删改)frozenset({1,2,3})        # 不可变集合globals()   # 查看全局变量locals()   # 查看局部变量isinstance(3, int)     # 查看3是不是int类型pow(3,3)  

内置函数,匿名函数,递归

内置函数: 详查下网址 https://docs.python.org/3/library/functions.html?highlight=built#ascii divmod(x, y)   # (商, 模)enumerate(可迭代对象)     # (序号,值)eval(字符串) # 把字符串当成命令执行frozenset({1,2,3})        # 不可变集合globals()   # 查看全局变量locals()   # 查看局部变量isinstance(3, int)  

python基础-函数_递归_内置函数

一 数学定义的函数与python中的函数 二 为何使用函数 背景提要 三 函数和过程 四 函数参数 五 局部变量与全局变量 六 前向引用之'函数即变量' 七 嵌套函数 八 递归 九 匿名函数 十 函数式编程 十一 内置函数 十二 本节作业 一.数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数.自变量x的取值范围叫做这个函数的定义域