2016-04-28 23 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)) 

基本上我正在研究電影推薦系統。我想將客戶的詳細信息存儲在1億個大小的列表中! 當我執行這個程序時,它被殺死了!如何在python中創建4個大小爲1億的列表?

有沒有解決方案來解決這個問題在python中?我如何處理python中較大的數據集?

+0

改爲使用數據庫。你的程序永遠不需要同時在內存中保存4億個字符串。 –

+0

感謝Martijin!但是,不使用數據庫可以這樣做嗎?基本上,我從文件中讀取細節並將其存儲在列表中以供計算... – Nagamani

+1

這是一場比賽,您需要自己研究一下。我強烈懷疑,同時擁有1億內存評級將成爲解決方案。 –

回答

0

我會推薦去SQLite數據庫文件。在我看來,使用和管理起來非常簡單,實際上它非常高效。如果將所有內容都放在同一時間,那麼當基於內存的數據庫增長時,最終會遇到麻煩。

+0

謝謝Victor Domingos !!我會盡力做到這一點! – Nagamani

+0

如果這是您第一次在Python中使用SQLite,您可能需要查看以下介紹性教程:[SQLite Python教程](http://www.tutorialspoint.com/sqlite/sqlite_python.htm),[SQLite入門Python](http://pythoncentral.io/introduction-to-sqlite-in-python/)和[Python中的SQLite數據庫操作的全面指南](http://sebastianraschka.com/Articles/2014_sqlite_in_python_tutorial.html) 。我希望它有幫助! –

+0

謝謝Victor :-) – Nagamani

相關問題