1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| def add(x,y,f): return (f(x)+f(y))
print(add(500,20,abs))
""" 输出结果: 520
"""
"""map函数接受两个参数,一个是函数,一个是lterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的lterable返回"""
def sq(x): return x * x print(list(map(sq,[1,3,5,7,9])))
from functools import reduce numbers = [1,3,5,7,9,11,13,15,17,19] def add(x,y): return x + y print(reduce(add,numbers))
print(sum(numbers))
def f(x,y): return x * 10 + y print(reduce(f,[1,3,5,7,9]))
def char2num(s): return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[s]
reduce(f,map(char2num, '13579')) """ 输出结果: 520 [1, 9, 25, 49, 81] 100 100 13579 """
|