Python系列-python函数(functools)
有一些函数内置到了functools这个模块里
partial(func, *args, **keywords)
from functools import partial def add(x,y): return x+y # print(add(1,2)) func=partial(add,1) #偏函数,将‘1’固定到了add函数的第一个参数 print(func(1)) print(func(2)) 结果: 2 3
# 三元运算
a = 1 result = "xiaoming" if a == 1 else "xiaogang" print(result) 结果: xiaoming 15
# lambda 表达式
def func(arg): return arg + 1 print(func(2)) func = lambda *args : print(args) print(func(1,2,3))
# map
li = [1,2,3,4,5] def func(s): return s + 1 ret = map(func,li) print(list(ret))
# filter 过滤
li = [22,33,44,55] def func(s): if s > 33: return s ret = filter(func,li) print(list(ret)) print(list(filter(lambda s : s >33 ,li)))
结果
[44, 55]
[44, 55]
# reduce
from functools import reduce li = ["a","l","e","x"] def func(a,b): return a+b ret = reduce(func,li) print(ret) li = [1,2,3,4,5] print(reduce(lambda a,b : a +b ,li))