Als Teil eines Skripts, das ich mache, möchte ich eine Reihe von Punkten gegen den Uhrzeigersinn um einen zentralen Punkt sortieren, den wir 'a' nennen.Erzeugen einer Sortierfunktion gegen den Uhrzeigersinn Sortierung
Ich habe eine Funktion, die für zwei Punkte 'b' und 'c' bestimmt, ob c rechts oder links vom Strahl a-> b ist. Diese Funktion ist right_of (a, b, c) und ist getestet und funktioniert.
Ich möchte diese Funktion verwenden, um eine Liste von Tupeln mit 2D-Koordinaten zu sortieren, z. [(0, 0), (0, 1), (1, 1), ...]. Jedes Mal, wenn ich sortiere, wird jedoch ein anderer Punkt "a" an die Funktion right_of() übergeben. Was ich will, ist eine 'Funktion' returnSortFunction (a), die eine Funktion mit zwei Argumenten zurückgibt, f (b, c), und und wenn f (b, c) für jedes Koordinatenpaar aufgerufen wird, sollte ich es sortieren gib das Ergebnis von right_of (a, b, c) mit 'a' bereits ausgefüllt zurück.
Ich habe versucht, dies mit einer Fabrik zu implementieren, aber ich glaube nicht, dass ich Fabriken gut genug verstehe, um es richtig zu machen, oder feststellen, ob das für eine Fabrik nicht so ist. Wie kann ich diese Funktion erstellen?
'def returnSortFunction (a): return '[' functools.partial'] (https://docs.python.org/3/library/functools.html#functools.partial) '(right_of, a)' Das scheint Sie zu fragen aber ich denke nicht, dass es dein Problem lösen wird, vielleicht den Code, mit dem du arbeitest, und den Eingang/Ausgang und die gewünschte Ausgabe zeigen. –
Nein, genau das suche ich. Danke für die schnelle Antwort. – kingledion