2016-04-28 14 views
-2
j=[] 
m=[] 
n=[] 
o=[] 
for i in range(100480508): 
    j.append(str(i)) 
    m.append(str(i)) 
    n.append(str(i)) 
    o.append(str(i)) 

Grundsätzlich arbeite ich an Filmempfehlersystemen. Ich möchte die Details von Kunden in einer Liste mit der Größe von 100 Millionen speichern !! Wenn ich dieses Programm ausführe, wurde es getötet !!Wie erstellt man vier Listen mit einer Größe von 100 Millionen in Python?

Gibt es eine Lösung, um dieses Problem in Python zu lösen? Wie kann ich mit den größeren Datensätzen in Python umgehen?

+0

Verwenden Sie stattdessen eine Datenbank. Ihr Programm müsste niemals 400 Millionen Strings gleichzeitig im Speicher halten. –

+0

Danke Martijin !! Aber anstatt eine Datenbank zu verwenden, ist es möglich, dies zu tun? Grundsätzlich lese ich die Details aus der Datei und speichere sie in der Liste für die Berechnung ... – Nagamani

+1

Es ist ein Wettbewerb, den man selbst erarbeiten muss. Ich bezweifle stark, dass das Halten von 100 Millionen Bewertungen gleichzeitig im Speicher die Lösung sein wird. –

Antwort

0

Ich würde empfehlen für SQLite-Datenbank-Datei statt. Es ist ziemlich einfach zu bedienen und zu verwalten, und tatsächlich ist es meiner Meinung nach sehr effizient. Wenn Sie alles zur selben Zeit in den Speicher legen, wenn die speicherbasierte Datenbank wächst, werden Sie in Schwierigkeiten geraten.

+0

Danke Victor Domingos !! Ich werde es versuchen !! – Nagamani

+0

Wenn Sie zum ersten Mal SQLite in Python verwenden, sollten Sie diese Einführungsanleitungen überprüfen: [SQLite Python Tutorial] (http://www.tutorialspoint.com/sqlite/sqlite_python.htm), [Einführung in SQLite in Python] (http://pythoncentral.io/introduction-to-sqlite-in-python/) und [Eine ausführliche Anleitung zu SQLite-Datenbankoperationen in Python] (http://sebastianraschka.com/Articles/2014_sqlite_in_python_tutorial.html) . Ich hoffe, es hilft! –

+0

Danke Victor :-) – Nagamani

Verwandte Themen