Erhöhen Sie nachfolgende Wörterbuchschlüssel, wenn Sie einen neuen Schlüssel einfügenPython

Python-Programme
Anonymous
 Erhöhen Sie nachfolgende Wörterbuchschlüssel, wenn Sie einen neuen Schlüssel einfügen

Post by Anonymous »

Ich habe ein großes (geordnetes) Wörterbuch (zwischen 10.000 und 50.000 Einträge):

Code: Select all

from collections import OrderedDict

d = OrderedDict()
...
d[100] = [x100, y100]
d[101] = [x101, y101]
d[102] = [x102, y102]
...
Ich möchte einen neuen Eintrag zwischen den Schlüsseln 100 und 101 im Wörterbuch einfügen und jeden Schlüssel aktualisieren, der größer als der erste Schlüssel ist.

Code: Select all

...
d[100] = [x100, y100]
d[101] = [x_inserted, y_inserted] # new entry
d[102] = [x101, y101] # before d[101]
d[103] = [x102, y102] # before d[102]
...
Wie kann ich das machen?
Wenn ich Einträge aus dem Wörterbuch lösche, kann ich diesen Ansatz verwenden

Code: Select all

for key in d:
if key > inserted_value:
d[key - 1] = d[key]
del d[key]
aber das funktioniert nicht, wenn ich Einträge hinzufüge (da d[key + 1] existiert, bevor ich den Schlüssel aktualisiere).

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post