酸洗一个包含“ n”个二元组值的列表

|| 我想腌制一个列表,因为创建列表需要很长时间。该列表由\“ n \” 2个元组值组成,其中第一个元组值是一个大字典(1k至10k个键),第二个值是字符串。 N可以高达100s至1000s。我想保存这样的数据结构,以便我可以方便地加载它。如果该列表是人类可读的,那将是很好的选择,但并不以牺牲性能为代价。 我了解Shelve,PyYaml,cPickle和JSON。我不确定在给定数据的情况下该使用什么。对本网站和互联网上其他各个线程的初步阅读显示,cPickle可能是最佳选择。这里的大师有什么想法吗?     
已邀请:
我会用
cPickle
,这很好用,
# Dummy data
from random import randint as r

a,b = 97,123

d = [(dict([(chr(r(a,b)),j) for j in range(1000)]),
       \'\'.join([chr(r(a,b)) for i in range(5)])) 
                            for j in range(100)]

# Pickle it
import cPickle as pickle

f = open(\'store.dat\',\'w\')
pickle.dump(d,f)
f.close()
我也会考虑使用dumbdbm之类的东西。 以后添加 在上面的示例之后,您可以执行以下操作,
import dumbdbm as dbm

g = dbm.open(\'store.db\')
g.update([(str(i),pickle.dumps(j)) for i,j in enumerate(d)])
g.close()
    

要回复问题请先登录注册