Also ich habe einen numerischen Wert und auf diese beiden Funktionen angewendet werden können.Erhalt der Reihenfolge der Funktionsimplementierung
Können sagen, ich habe eine Reihe 8.
Ich mag seinen Platz nehmen und dann ihr Protokoll oder zuerst das Protokoll und dann seinem Platz.
So sieht meine Funktion so etwas wie dieses
def transform(value, transformation_list):
# value is int, transformation_list = ["log",square"] or ["square","log"]
# square function and log function
return transformed value
Nun, wenn das erste Argument der Transformationsliste „square“ ist und das zweite ist „log“, dann sollte es erste Platz ausführen und dann log
Aber wenn die erste Funktion in dieser Liste "log" und zweitens "Quadrat" ist, dann sollte es zuerst Log und dann Quadrat implementieren.
Ich möchte nicht, wenn: Sonst etwas wie es wird hässlich werden, wie ich weitere Transformationen hinzufügen Wie soll ich das gestalten.
Ist es erforderlich, dass die Transformationsliste eine Liste von Strings ist? Sie könnten einfach eine Liste von Funktionen übergeben ('from Pfadimportprotokoll; def square (x): return x * x; transformieren (8, [log, square])'). – delnan
können Sie es als Lösung schreiben und es ein wenig erklären? es muss nicht eine Liste sein .. ?? – Fraz
Es ist wahrscheinlich keine Antwort, aber mein Punkt ist: Anstatt eine Liste von Strings zu übergeben, könnten Sie Dinge einfacher und erweiterbarer machen, indem Sie eine Liste von Funktionen übergeben. – delnan