函数式编程
lambda
lambda[arg1[, arg2, ... argN]]: expression
a = lambda x, y = 2: x + y
filter()
filter(func, seq)
from random import randint
allNums = []
for eachNum in range(9):
allNums.append(randint(1, 99))
print filter(lambda n: n % 2, allNums)
from random import randint
allNums = []
for eachNum in range(9):
allNums.append(randint(1, 99))
print [n for n in allNums if n % 2]
from random import randint as ri
print [n for n in [ri(1, 99) for i in range(9)] if n % 2]
map()
map(func, seq1[, seq2...])
map((lambda x: x + 2), [0, 1, 2, 3, 4, 5]
[x + 2 for x in range(6)]
map(lambda x, y: x + y, [1, 3, 5], [2, 4, 6])
map(None, [1, 3, 5], [2, 4, 6])
reduce()
reduce(func, seq[,init])
print 'the total is :', reduce((lambda x, y: x + y), range(5))
摘自《Python核心编程》

浙公网安备 33010602011771号