侧边栏壁纸
  • 累计撰写 119 篇文章
  • 累计创建 25 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

内置函数

梁来福
2022-02-09 / 0 评论 / 0 点赞 / 0 阅读 / 1745 字
温馨提示:
本文最后更新于 2024-05-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

体验高阶函数

把函数作为参数传入,这样的函数称为高阶函数,高阶函数是函数式编程的体现。函数式编程就是指这种高度抽象的编程范式

abs()

abs()函数可以完成对数字求绝对值计算

res = abs(-100)
print(res)

输出:100

round()

round()函数可以完成对数字的四舍五入计算

num1 = round(1.9)
num2 = round(1.2)
print(num1)
print(num2)

输出:

2

1

实例

def sum_num(a, b, c):
    return c(a) + c(b)

res = sum_num(-1, 5, abs)
print(res)

输出:6


内置高阶函数之map

map(func,lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表(python2)/迭代器(python3)返回

需求

计算list1序列中各个数字的2次方

代码实现

list1 = [1, 2, 3, 4, 5]

def func(x):
    return x ** 2

result = map(func, list1)

print(result)
print(list(result))

输出:

<map object at 0x10b34efa0>
[1, 4, 9, 16, 25]

内置高阶函数之reduce()

reduce(func, lst),每次func计算的结果继续和序列的下一个元素做累计计算

注意:reduce()传入的参数func必须接受两个参数

需求

计算list1序列中各个数字的累加和

代码实现

list1 = [1, 2, 3, 4, 5]

import functools

def func(a, b):
    return a + b

result = functools.reduce(func, list1)
print(result)

输出:15

内置高阶函数之filter()

filter(func, lst)函数用于过滤序列,过滤掉不符合条件的元素,返回一个filter对象。如果要转换成列表,可以使用list()来转换

需求

list1序列中的偶数

代码实现

list1 = [1, 2, 3, 4, 5, 6, 7, 8]

def func(f):
    return f % 2 == 0

result = filter(func, list1)

print(result)
print(list(result))

输出:

<filter object at 0x104363fa0>
[2, 4, 6, 8]

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
博主关闭了所有页面的评论