Heute hat ein Kollege über ein Python-Sortiermodul bisect gesprochen. Ich fand es sehr interessant und wollte es mit Ihnen teilen.
Schauen wir uns zunächst den Aufbau des Moduls an:
Stellen Sie zunächst sicher, dass die Liste der Vorgänge sortiert ist, bevor Sie die Funktionen dieses Moduls verwenden.
Schauen wir uns zunächst die Insort-Funktion an:
Das Ergebnis der Einfügung hat keinen Einfluss auf die ursprüngliche Sortierung.
Schauen Sie sich noch einmal die Halbierungsfunktion an:Ihr Zweck besteht darin, die Position zu finden, an der der Wert eingefügt wird, und ihn zurückzugeben, ohne ihn einzufügen.
Schauen Sie sich als Nächstes die Funktionen bisect_left und bisect_right an. Diese Funktion wird verwendet, um die Situation zu handhaben, in der doppelte Werte eingefügt werden, und um die Position zurückzugeben, an der sich die Einfügung befindet:Das entsprechende Die Einfügefunktionen sind insort_left und insort_right:
Wenn man sich einfach die Ergebnisse ansieht, sind die Operationsergebnisse der beiden Funktionen ersichtlich sind gleich, aber tatsächlich sind die Einfügepositionen unterschiedlich.