Python 高级函数

1、map

map()函数接收两个参数,一个是函数,一个是Iterablemap将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回

 

2、reduce

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

 

3、filter

map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

 

4、sorted

排序

直接撸代码:

from functools import reduce


def f(x):
    return x * x

def func(x, y):
    return x * 10 + y

def func2(x):
    return x * 100

def is_odd(n):
    return n % 2 == 1

def not_empty(s):
    return s and s.strip()

# map 函数
r = list(map(f, range(10)))
print(r)        # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
r = list(map(lambda x: x * x + x, range(10)))
print(r)        # [0, 2, 6, 12, 20, 30, 42, 56, 72, 90]

# reduce 函数
a = reduce(func, range(10))
print(a)        # 123456789
a = reduce(func, map(func2, range(5)))
print(a)        # 123400

# filter 函数
b = list(filter(is_odd, range(20)))
print(b)       # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
b = list(filter(not_empty, ['A', '', 'B', None, 'C', '  ']))
print(b)       # ['A', 'B', 'C']

# sorted 函数
c = sorted([36, 5, -12, 9, -21], key=abs)       # [5, 9, -12, -21, 36]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值