python--常用函数

1、lambda函数

lambda表达式,通常是在需要一个函数,但又不想费神去命名一个函数时使用,也就是匿名函数
lambda表达的匿名函数内容应该是简单的,一行就可以搞定的,如果复杂,干脆就定义一个函数。
lambda就是用来定义一个匿名函数的,如果还要给其绑定一个名字,就会显得画蛇添足,通常是直接使用lambda函数

def square(x):
    return x*x
print(square(5))                  #25

print((lambda a,b:a*b)(5,5))      #25

value1=lambda a:a*a
print(value1(5))                  #25

value1=lambda a,b:a*b
print(value1(5,5))                #25

lambda高级用法

print((lambda a,b : a+b)(5,5))

#元组、列表(5,10,20print(  (lambda *args:sum(args))    (5,10,20)   )

#字典
print(  (lambda **args:sum(args.values()))  (a=5,b=10,c=20)  )

lambda函数还可以应用在闭包中
def get_y(a,b):
return lambda x:ax+b
y1=get_y(1,1)

2、 map

map(function,sequence) : 对sequence中的item依次执行function(item),将执行结果function(item)组成一个list返回

def add(x):
    return x*2
number1=(1,2,3,4)

#将number1中的所有数据,一个个的调入add函数中
result=map(add,number1)
print(list(result))

result=map(lambda x:x*2,number1)
print(list(result))

map(function,sequence[,sequence,…]) -> list :入参是为函数和列表、元组、字符串,返回值为function(item)列表

3、 reduce

reduce(function,sequence,starting_value):对sequence中的item顺序迭代调用function,如果有starting——value,还可以作为初始值调用。function接收的参数个数只能为2,先把sequence中的第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给function,然后返回一个结果。

from functools import reduce
print(reduce(lambda x,y:x+y,range(101)))
5050

reduce(function,sequence[,initial]) -> value: 入参是为函数和列表/元组/字符串和初始值,返回值为数值。

4、 filter

filter(function,sequence): 对sequence中的item依次执行function(item),将执行结果为ture的item组成一个list/string/tuple(取决于sequence的类型)

fib=[0,1,1,2,3,5,8,13,21,34,55]
print(list(filter(lambda x:x%2 ==0 , fib)))
[0, 2, 8, 34]

filter(function or none ,sequence) -> list,tuple,or string: 入参为函数和列表/元组/字符串,返回值为item列表/元组/字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值