Ich habe eine riesige Liste von Daten, mehr als 1 Mio. Datensätze in einem Formular, das diesem ähnelt (obwohl es ein viel einfacheres Formular ist):
[
{'name': 'Colby Karnopp', 'ids': [441, 231, 822]},
{'name': 'Wilmer Lummus', 'ids': [438, 548, 469]},
{'name': 'Hope Teschner', 'ids': [735, 747, 488]},
{'name': 'Adolfo Fenrich', 'ids': [515, 213, 120]}
...
]
Bei einer ID von 735 möchte ich den Index 2 für Hope Teschner finden, da die angegebene ID in die Liste der IDs für Hope fällt. Wie lässt sich dies am besten bewerkstelligen (in Bezug auf die Leistung)?
Danke für alle Tipps.
EDIT
Wahrscheinlich hätte ich das erwähnen sollen, aber eine id könnte mehr als einmal auftauchen. Für den Fall, dass eine bestimmte id tut mehr als einmal auftauchen, möchte ich den niedrigsten Index für die angegebene ID.
Die Daten in der Liste werden sich häufig ändern, so dass ich zögere, über den Aufbau eines Wörterbuchs zu gehen, da das Wörterbuch bei jeder Aktualisierung der Liste geändert / neu erstellt werden müsste, da die Indizes die Werte im Diktat sind - d.h. die Änderung der Position eines Elements in der Liste würde erfordern, dass jeder Wert im Wörterbuch aktualisiert wird, dessen Index größer ist als der neu geänderte Index.
BEARBEITEN BEARBEITEN
Ich habe gerade ein paar Benchmarks durchgeführt, und es scheint, dass der Wiederaufbau des Wörterbuchs auch bei mehr als 1 Mio. Datensätzen recht schnell geht. Ich denke, ich werde diese Lösung für jetzt verfolgen.