1.用reduce求阶乘
class ParaError(Exception):
def __str__(self):
return 'parameter must be a integer!'
def factorial(num):
if not isinstance(num,int):
raise ParaError()
if num == 0:
return 1
result = reduce(lambda x,y:x*y,xrange(1,abs(num)+1))
if num < 0:
return 0 - result
return result
2.用map快速得到字母与数字的字符列表
def characters():
return map(str,xrange(10)) + map(lambda x:chr(x+97),xrange(26))