# python3中默认没有引入该函数
from functools import reduce
# reduce()函数: 要执行的函数接收两个参数,两个元素会进行一次运算,并且将运算的结果和第三个元素再次运算...以此类推...
list3 = [1,2,3,4,5,6,7,8,9,10]
def add(x,y):
result = x+y
return result
# reduce(func,iter)
result = reduce(add,list3)
print (result)
list3 = [1,2,3,4,5,6,7,8,9,10]
def test(x):
if x % 2 ==0:
rrturn = x
# 会将返回的结果进行筛选,只会取出条件为真为或不为None,把结果放在结果列表中,否则就不要了
m = list(filter(test,list3))
print (m)
'''
1.map()函数,会让列表中每一个元素都执行一某个函数(传递1个参数),并且将执行函数返回的结果(无论是什么样的结果)放在结果列表中
2.filter()函数,会让列表中的每一个元素都执行一次某个函数(传递1个参数),并且将执行函数返回为真或不为None的结果放在结果列表中
3.reduce()函数,会将列表中的每两个元素执行一次函数(传递2个参数),并且可以将前两个元素计算的结果拿过来,继续和列表中的第三个元素计算,计算完成后继续和第四个计算.....,最后返回的就是计算后的结果
'''
list4 = ['hello','world','nihao','shijie']
def add_s(x, y):
s = x+'*'+y
return s
# 利用reduce函数,将列表中字符串拼接起来
rs = reduce(add_s, list4)
print(rs)