在这个示例程序中,我将命名为0到6天,其中第0天是星期日,第6天是星期六。我想知道我是否可以在这里使用lambda表达式来开始日期和逗留时间,并且仍然返回我将返回的一周中的一天的数字。我很难理解如何在一个简单的例子中使用lambda表达式。
starting_day = 3
length_of_stay = 10
end_day = (starting_day + length_of_stay) % 7
print("You will come back on day: ", end_day)
答案 0 :(得分:4)
在考虑如何为此编写 lambda 函数之前,请考虑如何编写正常函数。它可能看起来像这样:
def day_of_return(starting_day, length_of_stay):
return (starting_day + length_of_stay) % 7
然后您可以轻松将其转换为lambda函数:
day_of_return = lambda starting_day, length_of_stay: (starting_day + length_of_stay) % 7
或者,使用较短的变量名称:
day_of_return = lambda s,l: (s+l) % 7
然后你可以这样称呼它:
print(day_of_return(3,10))
编辑:在评论中,@ daragua指出将lambda分配给变量类型会破坏lambda的目的,所以你也可以完全删除赋值:
print((lambda s,l: (s+l) % 7) (3,10)) # This will print 6
答案 1 :(得分:0)
Lambda是函数,而不是表达式。它们可以在任何使用函数的地方使用。它们通常是匿名的,非常短。