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))

 
















posted @ 2018-04-13 14:03  慕沁  阅读(355)  评论(0)    收藏  举报