Ich mag die folgende Struktur für einen Wörterbuch erstellen:Wie definiert man ein dreischichtiges Wörterbuch in Python?
{ id1: {id2: {id3: [] }}}
Das ist ein Triple-Wörterbuch sein würde, die schließlich zu einer Liste verweisen.
Ich verwende den folgenden Code in Python zu initiieren:
for i in range(2160):
for j in range(2160):
for k in range(2160):
subnetwork.update({i: {j: {k: [] }}})
Dieser Code zu viel Zeit in Anspruch nimmt auszuführen. Es ist von Big-O (N^3) -Komplexität.
Gibt es Möglichkeiten, diesen Prozess zu beschleunigen? Serialisierung vielleicht die Datenstruktur und das Abrufen von der Festplatte ist schneller?
Welche Datenstrukturen können ähnliche Ergebnisse erzielen? Würde ein flaches Wörterbuch, das Drei-Element-Tupel als Schlüssel verwendet, meinem Zweck dienen?
'i [0]' ?? das sollte einen Fehler werfen. –
Wenn Sie kein System mit * riesigem * Speicher haben, ist Ihre Struktur zu groß. Sie erstellen 10 Milliarden Listen. Jede Liste wird mindestens ein Dutzend Bytes umfassen, also würde es mindestens 100 GB RAM erfordern. Und das zählt nicht die Diktate. – spectras
wollen Sie eigentlich ein verschachteltes Wörterbuch mit 2160 ** 3 = 10 077 696 000 Listen? –