Je construis une fonction qui reçoit des «morceaux» de données et les traite de manière itérative. Mon problème est de savoir comment enregistrer les derniers paramètres pour la prochaine exécution, tout en l'initialisant lors de la première exécution.
Exemple: strong> p> def IterativeFunction(X): #X is the received vector (chunk of data)
for i in range(len(X)):
Y[i] = 0.1 * X[i] + 0.9 * Xn1
Xn1 = X[i] #This is the iterative part
return(Y)
3 Réponses :
Vous pouvez passer ps Notez que croquis - p> xn1 code> à la fonction et retourner
xn1 code> avec
y code> chaque fois que la fonction est appelée. Dans la première fois, il sera soit soit manquant, soit
Aucun code> (ou toute autre valeur par défaut de votre choix), puis vous l'initialisez.
y code> n'est jamais initialisé et donc
xn1 code> dans le code d'origine. p>
Vous pouvez utiliser une variable pour garder une trace de combien de fois vous exécutez la fonction, de sorte que la première exécution peut exécuter un morceau de code, et le reste l'autre comme ceci:
run_times = 0 def IterativeFunction(X): #X is the received vector (chunk of data) run_times += 1 if run_times == 1: for i in range(len(X)): Y[i] = 0.1 * X[i] + 0.9 * Xn1 Xn1 = X[i] #This is the iterative part else: blablah return(Y)
Merci pour les réponses ci-dessus. J'ai combiné vos idées dans ceci: Ma question concerne d'autres moyens d'y parvenir, comme le paramètre global? ou est-ce la manière la plus recommandée d'atteindre une solution? p> p>
Les paramètres globaux sont généralement acceptés d'être des odeurs de code, sauf si vous écrivez un script sale rapide. BTW, si les autres réponses vous ont aidé, il est considéré comme une bonne étiquette de les uppoter, même si vous ne voulez pas en accepter en particulier.