python3中filter()、map()、reduce()、lambda函数等的使用

97 阅读1分钟
#!/usr/bin/python
# -*- coding:utf-8 -*-

"""filter()的使用: filter(function,sequence)"""
def func_filter(s):
    return True if s != 'a' else False

lis = ['a','b',123]
ret = filter(func_filter,lis)
print(list(ret))

"""map()的使用: map(function,sequence)"""

lis1 = ['a','b','c','d']
def func_map(s):
    return s + '.txt'

ret = map(func_map,lis1)
print(list(ret))

"""reduce()的使用:reduce(function,sequence,starting_value)"""

from functools import reduce

def add(x,y):
    return x + y

print(reduce(add,range(1,100)))
print(reduce(add,range(1,100),20))


"""lambda 快速定义单行最小函数"""
f = lambda x: x + ".txt"
print(f("peter"))
print((lambda x: x * 2)(3))


#搭配使用
from functools import reduce

print(reduce(lambda x,y:x + y,range(1,100)))
print(reduce(lambda x,y:x + y,range(1,100),20))