Ich arbeite an einer Programmieraufgabe mit schneller Verarbeitung und großen Datenmengen. Ich versuche, eine Liste möglicher Permutationen eines Zahlenbereichs zu erstellen und dann durch sie zu suchen.Liste mit 13 Gigs Ram mit 127 mil Einträgen: wie?
Code:
def generate_list(numA, numB):
combo = list(range(0, numB))
permutation_list = list(itertools.permutations(combo, numA))
print("initial dictionary length: " + len(permutation_list))
Das Problem ist, dass, wenn A 6 und B 25, mein Programm verlangsamt sich immens und nimmt eine riesige Menge an RAM. Es guckte auf etwa 13 Gigs. Die Länge der Liste beträgt ungefähr 127 Milli-Inch und jedes Objekt hat die Länge 6. Das sollte ungefähr 750 Megabyte Speicher und nicht 13 Gigs betragen. Was ist los?
Edit: Die Daten sind nur Zahlen. Also [[0,1,2,3,4,5], [0,1,2,3,4,6], ...]
Welche Herausforderung ist das? Irgendeine Möglichkeit, auf die Beschreibung und die Daten zuzugreifen? – ppasler
Die Daten sind nur Zahlen. Also [[0,1,2,3,4,5], [0,1,2,3,4,6], ...] – Smipims
Ich habe einen Fehler gemacht. Ich meinte Liste, wo immer ich das Wörterbuch eintippte – Smipims