python的三个高级函数

自己写的笔记哈
(1):map()
指把一个可调用对象func依次映射到序列的每个元素上,并返回一个可迭代的map对象,但是map对象中的每个元素只能使用一个。

可调用对象func可以是系统自带函数,用户自定义函数,lambda。

data = map(str, range(5))
data2 = map(lambda x : str(x), range(5))
print(data)
print(list(data))
print(list(data2))

结果为:

<map object at 0x000001E37CBFE7C8>
['0', '1', '2', '3', '4']
['0', '1', '2', '3', '4']

第二个例子:

A = map(len, ['abc', '1234'])
B = map(lambda y : len(y), ['abc', '1234'])
print(list(A))
print(list(B))

结果为:

[3, 4]
[3, 4]

(2):reduce()
指的是将一个接受2个参数以迭代的方式从左到右依次作用到一个序列或可迭代对象的所有元素上,reduce()函数需要从标准库中导入后才能使用。

from functools import reduce    #导入函数
from operator import add

A = range(1, 6)
print(reduce(add, A))
B = reduce(lambda x, y : x+y, A)
print(B)

结果为:

15
15

(3)filter()
用于使用指定函数描述的规则对序列中的元素进行过滤,返回一个filter对象。

A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


def f1(x):
    return x % 2 == 1  #奇数


lst1 = filter(f1, A)
print(list(lst1))

结果:

[1, 3, 5, 7, 9]

还可以写为lambda表达式

A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
lst2 = filter(lambda x : x % 2 == 1, A)
print(list(lst2))

结果:

[1, 3, 5, 7, 9]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值