大字典Python不起作用

大字典Python不起作用,python,dictionary,process,large-data,Python,Dictionary,Process,Large Data,我有一本非常大的Python字典。它不是在CodeRunner或Xcode中编译的 我有一个列表没有我想翻译的那么大,但是它不能正常工作,因为字典太大了。字典里有23124个键有没有办法通过创建数据库或其他方式来处理大型词典? 当我将字典复制并粘贴到CodeRunner或Xcode中时,不同类型的元素(如字符串或整数)的颜色不会改变 当我运行它时,我得到的输出比输入大 #D_ens_g = {"big" dictionary w/ >20k keys and values} def Si

我有一本非常大的Python字典。它不是在CodeRunner或Xcode中编译的

我有一个列表没有我想翻译的那么大,但是它不能正常工作,因为字典太大了。字典里有23124个键有没有办法通过创建数据库或其他方式来处理大型词典?

当我将字典复制并粘贴到CodeRunner或Xcode中时,不同类型的元素(如字符串或整数)的颜色不会改变

当我运行它时,我得到的输出比输入大

#D_ens_g = {"big" dictionary w/ >20k keys and values}

def Simple_Reader(input,output='test.txt'):
    temp = []

    query=open(input,'r').read().split('\r')
    for q in query:
        print D_ens_g[q]

test_2 = '~/Desktop/list.txt'
Simple_Reader(test_2)

我在测试2中导入的列表中的每个元素都有一个特定的ID,它位于字典的键中

您真的需要一个大字典吗?可能您正在从另一个文件中提取数据。你到底需要用这本字典做什么?正如Joran所说,一个真正的数据库可能更聪明,所以我所做的是用“大”字典创建一个文本文件,然后导入ast并使用literal__eval读取它,而不必在我的应用程序中编译它

import ast
D_ens_gene = ast.literal_eval(open('/users/opus_magnum/desktop/D_ens_gene.txt','r').read())

“大”不是数字。使用真实的数据库?(甚至像sqlite3或couchdb之类的东西)首先,你真的需要那本大字典吗?我不知道我还能怎么做。如何生成数据库?大到20k+。我用一堆不同的数据文件编译了这本字典你说的“不编译”是什么意思?还有20k+什么?口述里有什么?你收到错误信息了吗?你能给我们看一下错误信息吗?(整个错误信息?)这应该是一条评论(我知道你没有足够的代表发表评论,所以我不会投反对票……但最终会被否决作为答案)