Python 在函数式编程范例中将两个函数映射在一起
我正在学习Python中的函数式编程。我读到函数在理想情况下只做一件事,所以如果我不能同时传递多个函数,我该如何进行大型计算呢Python 在函数式编程范例中将两个函数映射在一起,python,functional-programming,Python,Functional Programming,我正在学习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
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\u字符串显示生日,该字符串由13岁以上的人过滤。我想在现有的地图
上添加反向
功能。这可能吗?有一个内置的reversed()
函数可以使用。它返回一个迭代器,因此您可能希望使用list()
将其包装起来
有一个内置的reversed()
函数可以使用。它返回一个迭代器,因此您可能希望使用list()
将其包装起来
是的,您可以(我正在使用您的反转功能):
或者,您可以先将生日
倒过来:
birth_dates = list(map(date_string, filter(is_over_13, reverse(birthdays))))
您也可以使用反向
而不是编写自己的函数。是的,您可以(我正在使用您的反向
函数):
或者,您可以先将生日
倒过来:
birth_dates = list(map(date_string, filter(is_over_13, reverse(birthdays))))
您也可以使用反向
,而不是编写自己的函数
birth_dates = list(map(date_string, filter(is_over_13, reverse(birthdays))))