python3 内置函数

46 阅读1分钟
# 高阶函数
# 函数作为参数或返回值
def my_sum(a, b, f):
    return f(a) + f(b)


value = my_sum(-3, -4, abs)
print(value)  # 7

# 内置高阶函数-map
list1 = [1, 3, 4, 6]
value = map(lambda x: x ** 2, list1)
print(value)  # <map object at 0x000001AE3C013B20>
print(list(value))  # [1, 9, 16, 36]

# 内置高阶函数reduce
import functools

list1 = [1, 2, 4]
value = functools.reduce(lambda a, b: a + b, list1)
print(value)  # 7

# 内置高阶函数filter
list1 = [1, 3, 4, 5, 7]
value = filter(lambda x: x % 2 == 0, list1)
print(value)  # <filter object at 0x0000014FCCA83FD0>
print(list(value))  # [4]