python 基础 之 lambda 和eval()函数和enumerate()函数和map()函数和reduce()函数和filter()函数

一、lambda 表达式和匿名函数

lambda 表达式可以用来声明匿名函数。lambda 函数是一种简单的、在同一行中定义函数
的方法。lambda 函数实际生成了一个函数对象。
lambda 表达式只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数
的返回值。

lambda表达式基本语法:

        

lambda arg1,arg2,arg3... : <表达式>


f =lambda a,b:a+b



print(f(1,2))            

arg1/arg2/arg3 为函数的参数。<表达式>相当于函数体。运算结果是:表达式的运算结果。

二、eval()函数

功能:将字符串 str 当成有效的表达式来求值并返回计算结果。

语法: eval(source[, globals[, locals]]) -> value

参数:
source:一个 Python 表达式或函数 compile()返回的代码对象
globals:可选。必须是 dictionary
locals:可选。任意映射对象

a = 1
b = 2
c = eval( "a+b")
print(c)

三、enumerate()的使用

1、enumerate()是Python的内置函数 

2、用法

既然是列举, 该方法一般常用于 数组, 配合for循环来使用

3、语法:enumerate(iterable: Iterable[str], start: int = ...)

a = ['aa','bb','cc']
for index,t in enumerate(a):
    print(index,t)

四、map函数

map(func名,序列)函数接收两种参数,一是函数,一种是序列(可以传入多个序列),map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回

def f(x):
    return x * x
​
L=map(f,[1, 2, 3, 4, 5, 6, 7, 8, 9])
print(list(L))



# 能和lambda连用
L=map(lambda n:n*n,[1, 2, 3, 4, 5, 6, 7, 8, 9])
print(list(L))

五、reduce()函数

reduce位于functools模块

reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

from functools import reduce
def add(x, y):
    return x + y
sum=reduce(add, [1, 3, 5, 7, 9])
print(sum)

六、filter()函数

内置函数filter()用于过滤序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False, 决定保留还是丢弃该元素。

def is_odd(n):
    return n % 2 == 1
L=filter(is_odd, [1, 2, 4, 5])
print(list(L))

L=filter(lambda n:n%2==1, [1, 2, 4, 5])
print(list(L))


上一章节:python 基础之集合 学习_宠乖仪的博客-CSDN博客

下一章节:python 基础之私有属性、私有方法、@property 装饰器的使用_宠乖仪的博客-CSDN博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宠乖仪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值