当前位置: 首页 > 知识库问答 >
问题:

如何在python中调用一系列没有循环的函数?

贺季
2023-03-14

假设我有一系列python函数:

lam1 = lambda x: return x+1
lam2 = lambda x: return x+2
lam3 = lambda x: return x+3

我想这样称呼他们:

x = lam1(x)
x = lam2(x)
x = lam3(x)

大概是这样的:

for lam in lams:
    x = lam(x)

如果我有很多函数要调用,这是很有帮助的,但这将有for循环。在没有for循环的情况下,我是否有其他方法来执行此操作?

共有1个答案

慕学海
2023-03-14

一个可能的解决方案是简单地在另一个函数中使用一个函数,像这样:

>>> lam1 = lambda x: x+1
>>> lam2 = lambda x: lam1(x)+2
>>> lam3 = lambda x: lam2(x)+3
>>> lam3(1)
7

虽然我不明白你为什么要这样,没有循环。这种解决方案的缺点是,人们愿意以这种方式构建的函数数量有限。或者,您可以创建一个循环来创建这些函数,例如:

>>> from functools import partial
>>> oldLam = lambda x: x
>>> newLam = lambda x,lam,c: lam(x) + c
>>> for i in range(5):
    oldLam = partial(newLam, lam = oldLam, c = i)


>>> oldLam(1)
11

除非对你来说也是违法案件...

 类似资料:
  • 我试图在Java中创建一个简单的动画,显示一个蓝色的球在一个500 x 500的窗口中水平移动。球应该以1px/30ms的速度移动。问题是,窗口只有在时循环退出时才被绘制,而不是在我想要的时循环的每次迭代中。这导致蓝色的球被绘制在它的最终位置。你能告诉我我在这里做错了什么吗?我也尝试过在EDT上使用绘画组件()方法执行这段代码,得到了同样的结果。此外,正如其他帖子所建议的,当使用EDT和绘画组件(

  • 我在尝试创建一个函数时遇到了麻烦。我想把数字转换成一周中指定的日子。例如:1='星期一',2='星期二',3='星期三',4='星期四',5='星期五',6='星期六',0='星期日' 下面是我编写函数的尝试,但我得到了一个错误,我还认为一定有一种方法可以循环它。我只是不知道怎么做。

  • 本文向大家介绍python函数调用,循环,列表复制实例,包括了python函数调用,循环,列表复制实例的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧! list.sort()从小到大排列 求斐波那契数列 输出第10 位 用循环来实现 用递归实现 列表的复制: a[:]2边可以填数,从左边开始到右边结束 输出九九乘法口诀: 外层循环决定行,内层循环决定列。print

  • 我只得到一个测试用例的错误。 问题链接:https://www.hackerrank.com/challenges/java-loops/problem?isFullScreen=trueJAVA黑客等级循环问题 我得到了精确的输出,但是测试用例失败了。 Java代码:

  • 我使用以下程序集和c源(分别使用fasm和gcc)将一些程序集与一些c链接起来,以测试函数调用的成本 组件: c来源: 我得到的结果令人惊讶。首先,速度取决于我链接的顺序。如果我以的形式链接,典型的输出是 但是以相反的顺序链接,我得到了一个更像的输出: 他们的不同令人惊讶,但这不是我要问的问题。(此处有相关问题) 我要问的问题是,在第二次运行中,有函数调用的循环如何比没有函数调用的循环快,调用函数

  • 一小段python代码: 三个函数的结构类似 我的需求:f1 ,f2,f3这三个函数,无论哪个函数在运行中触发了except,那么当前循环立即中断,进入下一个循环。 请问,如何达到这个需求?