2018-05-11 python的map和reduce函数
2018-05-11 本文已影响0人
小沫代码之路
格式:
map(func, seq[, seq2...])
用法:
将seq里的元素传入func,然后返回值是一个列表,如果有多个seq的话,长度必须相等,不然会报错。
#求3的余数
print map(lambda x: x % 3, [1, 2, 3]) # [1, 2, 0]
#求两个列表对应索引的值的和
print map(lambda x, y: x + y, [1, 2, 4], [3, 4, 5]) # [4, 6, 9]
#求元组
print map(lambda x, y: (x + y, x - y), [1, 3, 4], [1, 2, 3]) # [(2, 0), (5, 1), (7, 1)]
格式:
reduce(func, seq[, init])
eg:
reduce(func, [1, 2, 3]) = func(func(1, 2), 3)
用法
迭代上一次的结果去计算
#阶乘 1-5
print reduce(lambda x, y: x * y, range(1, 6)) # 120
#上述结果乘2
print reduce(lambda x, y: x * y, range(1, 6), 2) # 240