gpt4 book ai didi

python - 应用函数 n 次,使用上一个的输出作为下一个的输入

转载 作者:太空狗 更新时间:2023-10-30 01:21:34 25 4
gpt4 key购买 nike

例如,当使用 dirname 遍历层次结构中的多个级别时,我通常会这样做。

grandparent = os.path.dirname(__file__)
grandparent = os.path.dirname(grandparent)

或者,在更多级别的情况下。

grandparent =  = os.path.dirname(__file__)
for x in xrange(5):
grandparent = os.path.dirname(grandparent)

但我想知道是否有更简洁的方法来执行此操作?

比如

grandparent = y(5, os.path.dirname, __file__)

y 是我正在寻找的神秘函数。

如果不是,这样的函数会被称为什么?

最佳答案

如何自己定义这样的高阶函数:

def repeat (f, x, n) :
for i in range(n):
x = f(x)
return x

f 是您希望调用的函数,x 是序列中的第一个输入,n 是您希望调用的次数叫这个。

然后您可以调用它,例如:

>>> repeat(lambda x: x**2,2,3)
256
>>> repeat(os.path.dirname,'/home/kommusoft/testfolder/sqldump', 2)
'/home/kommusoft'

但是,如果您计划走到目录的根目录,使用大量重复不安全:您永远不知道某个用户已经超过九千个级联 目录。

关于python - 应用函数 n 次,使用上一个的输出作为下一个的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30567109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com