en python I fonctions définies:Liste de fonctions python chaînée en cours d'exécution?
def foo_1(p): return p + 1
def foo_2(p): return p + 1
def foo_3(p): return p + 1
def foo_4(p): return p + 1
def foo_5(p): return p + 1
J'ai besoin d'exécuter les fonctions comme une chaîne peut, comme ceci:
foo_1(foo_2(foo_3(foo_4(foo_5(1)))))
Puis-je savoir si je peux pousser les fonctions dans une liste puis exécuter ces fonctions en tant que chaîne, peut-être aussi je peux donner une séquence d'exécution?
lf = [Null,foo_1,foo_2,foo_3,foo_4,foo_5] # Null is for +1 issue here
def execu(lst, seq, raw_para):
# in some way
execu(lf,(1,2,3,4,5), 1) # = foo_1(foo_2(foo_3(foo_4(foo_5(1)))))
execu(lf,(1,2,3), 1) # = foo_1(foo_2(foo_3(1)))
execu(lf,(3,3,3), 1) # = foo_3(foo_3(foo_3(1)))
Merci!
RBP,
KC
Pourquoi inverser ici? –
'reduce()' gère les éléments du début à la fin. Votre exemple montre qu'ils sont invoqués de bout en bout. –
ah, IC, la pile devrait de bout en bout, merci –