【发布时间】:2016-04-27 13:08:17
【问题描述】:
我正在学习 Python 中的函数式编程。我读到函数理想地只做一件事,所以如果我不能一次传递多个函数,我将如何进行大计算
import datetime
birthdays = [
datetime.datetime(2012, 4, 29),
datetime.datetime(2006, 8, 9),
datetime.datetime(1978, 5, 16),
datetime.datetime(1981, 8, 15),
datetime.datetime(2001, 7, 4),
datetime.datetime(1999, 12, 30)
]
today = datetime.datetime.today()
def is_over_13(dt):
delta = today - dt
return delta.days >= 4745
def date_string(dt):
return dt.strftime("%B %d")
def reverse(iterable):
return iterable[::-1]
birth_dates = list(map(date_string, filter(is_over_13, birthdays)))
代码在date_string 中显示生日,由 13 岁以上的人过滤。我想在现有 map 之上添加 reverse 函数。这可能吗?
【问题讨论】:
标签: python functional-programming