8、python-常用的3个高阶函数

一.map

1.第一个参数 function 以参数序列中的每一个元素调用 function 函数
2.返回包含每次 function 函数返回值的新列表

def square(x):
    return x * x

y = map(square, [1, 2, 3, 4])
z = map(str, [1, 2, 3, 4])
a = map(int, ['1', '2', '3', '4'])
print(list(y))
print(list(z))
print(list(a))

# [1, 4, 9, 16]
# ['1', '2', '3', '4']
# [1, 2, 3, 4]

二.reduce

1.对参数序列中元素进行累积
2.语法:reduce(function, iterable[, initializer])

  • function – 函数,有两个参数
  • iterable – 可迭代对象
  • initializer – 可选,初始参数
from functools import reduce


# 两数相加
def add(x, y):
    return x + y


# 计算列表和:1+2+3+4+5
sum1 = reduce(add, [1, 2, 3, 4, 5])
# 使用 lambda 匿名函数
sum2 = reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
print(sum1)
print(sum2)

# 15
# 15

三.filter

1.对每个元素进⾏判断,返回 True或 False
2.filter()根据判断结果⾃动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

# TODO 过滤能被2整除的数
even_num = list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5, 6]))
# TODO 过滤不能被2整除的数
odd_num = list(filter(lambda x: x % 2, [1, 2, 3, 4, 5, 6]))
# # TODO 过滤26个字母排在g之前的
res = list(filter(lambda x: x < 'g', 'hijack'))
print(even_num)
print(odd_num)
print(res)

# [2, 4, 6]
# [1, 3, 5]
# ['a', 'c']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

御剑天涯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值