Gibt es Python-Einbauten oder weit verbreitete Python-Bibliotheken, um eine Suche in einer sortierten Reihenfolge durchzuführen?Eine sortierte Liste suchen?
Antwort
bisect
ist Teil der Standardbibliothek - ist das, wonach Sie suchen?
, die nicht erläutert, wie nach dem Wert in der Liste gesucht wird. –
Es ist erwähnenswert, dass es einige hochwertige Python-Bibliotheken zur Verwaltung einer sortierten Liste gibt, die auch eine schnelle Suche implementieren: sortedcontainers und blist. Die Verwendung dieser hängt natürlich davon ab, wie oft Sie Elemente aus der Liste einfügen/entfernen und suchen müssen. Jedes dieser Module stellt eine Klasse zur Verfügung, die die Elemente effizient in der Sortierreihenfolge verwaltet.
Aus der Dokumentation für SortedList:
L.bisect_left(value)
Similar to the bisect module in the standard library, this returns
an appropriate index to insert value in L. If value is already present
in L, the insertion point will be before (to the left of) any existing
entries.
L.bisect(value)
Same as bisect_left.
L.bisect_right(value)
Same as bisect_left, but if value is already present in L, the
insertion point will be after (to the right of) any existing entries.
Beide Implementierungen verwenden binäre Suche den richtigen Index des gegebenen Wert zu finden. Es gibt eine Seite für die Wahl zwischen den beiden Modulen.
Haftungsausschluss: Ich bin der Autor des Sortedcontainers-Moduls.
- 1. Welche Qt-Containerklasse für eine sortierte Liste?
- 2. Einfügung sortierte verkettete Liste C++
- 3. Java Code Review: Sortieren Sie sortierte Listen in eine einzige sortierte Liste
- 4. C# Wie sortiere ich eine sortierte Liste nach ihrer Wertspalte
- 5. Teilen Sie eine Liste in vertikal sortierte Spalten mit xslt
- 6. Einfügen in eine sortierte doppelt verkettete Liste C++
- 7. Wie kann ich eine sortierte Liste der bevorzugten Terminaltypen berechnen?
- 8. Aufteilen der Liste in sortierte Unterlisten
- 9. Sortierte Liste beim Binden nicht sortiert
- 10. Sortierte Liste in Idris (Insertion Sortierung)
- 11. Python Sortierliste basierend auf Schlüssel sortierte Liste
- 12. Alphabetisch sortierte Einfügung in doppelt verkettete Liste
- 13. Knoten in sortierte verknüpfte Liste hinzufügen
- 14. Effizienz von Python „in“ Stichwort für sortierte Liste
- 15. Existiert eine sortierte Warteschlange in .NET?
- 16. Suchen nach Property Liste
- 17. Sortierte Karten in groovy
- 18. Java - Ruft sort() auf eine bereits sortierte Liste eine O (1) -Operation auf?
- 19. LINQ to Entity Framwork: Sortierte Liste verwandter Zeilen zurückgeben
- 20. Eindeutige sortierte Liste der Spaltenwerte aus 2 Tabellen
- 21. Sortierte Liste zur Vervollständigung der BST-Array-Darstellung
- 22. Kombination AngularJS, jQueryUI, Angular-Drag-Drop für sortierte Liste
- 23. sortierte Liste von Strings durch integer Suffix in Python
- 24. Python: neues Element in sortierte Liste von Wörterbüchern einfügen
- 25. Eine sortierte Reihe von Benutzereingaben erstellen
- 26. Wie erzeugt dieses HashSet eine sortierte Ausgabe?
- 27. Sortierte Eingaben in Haskell zusammenführen?
- 28. sortierte Liste von Listen, die jeweils ein Wörterbuch
- 29. Java - PriorityQueue vs sortierte LinkedList
- 30. Wie eine Zeichenfolge in einer Array-Liste suchen (Python-regex)
Sequenz von was? Auch welche Art von Suche (Binär, etc.)? –
Ich glaube, die Frage versucht "kanonisch" oder "generisch" zu sein und so kann die Bedeutung von "sequenz" die [Python-Dokumentationsdefinition einer 'Sequenz' sein (dh python 2.x" Es gibt sieben Sequenztypen: Strings, Unicode-Strings, Listen, Tupel, Bytearrays, Puffer und Xrange-Objekte. ")] (https://docs.python.org/2/library/stdtypes.html#sequence-types-str-unicode-list-tuple -bytearray-buffer-xrange) –