python lambda 逻辑_python进阶(1)Lambda表达式

Lambda表达式

lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数

语法

函数名 = lambda 参数:返回值

注意点

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

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

3.返回值和正常的函数一样,可以是任意数据类型,返回值的时候只能返回一个不能返回多个

def func(n):

return n**n

print(func(4))

f = lambda x: x**x

print(f(4))

结果:

>>> 256

>>> 256

三大基础函数

filter(function, iterable)

对可迭代对象进行过滤,参数function是一个函数,参数iterable是可迭代对象。filter()函数调用时iterable会遍历,它的元素被逐一传入funciton函数,function函数返回布尔值。在funciton函数中编写过滤条件,如果为true则保留,为false则被过滤掉

number_list = range(1, 11)

number_filter = filter(lambda it: it % 2 == 0, number_list)

print(list(number_filter))

>>> [2, 4, 6, 8, 10]

map(function, iterable)

对可迭代对象的元素进行变换,参数使用同上

# 将所有元素替换成小写

users = ['jack', 'Tom', 'Tony', 'Alice']

users_map = map(lambda u: u.lower(), users)

print(list(users_map))

>>> ['jack', 'tom', 'tony', 'alice']

# 将所有首字母为T的元素替换成小写

# 先过滤再替换

users = ['jack', 'Tom', 'Tony', 'Alice']

users_map = map(lambda u: u.lower(), filter(lambda u: u.startswith('T'), users))

print(list(users_map))

>>> ['tom', 'tony']

reduce(function, iterable[, initializer])

参数funciton是聚合操作函数,iterable是可迭代对象,initializer是初始值,可以省略

​reduce()函数是将多个数据按照指定的算法积累叠加起来

"""

reduce的作用是先把列表中的前俩个元素取出计算出一个值然后临时保存着,

接下来用这个临时保存的值和列表中第三个元素进行计算,求出一个新的值将最开始

临时保存的值覆盖掉,然后在用这个新的临时值和列表中第四个元素计算.依次类推

"""

a = [1, 2, 3, 4]

a_reduce = reduce(lambda x, y: x*10 + y, a)

print(a_reduce)

>>> 1234

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值