2010-05-06 97 views
5

手动将字典保存到数据库的一种方法是将其压缩为序列序列,并将序列作为参数传递给cursor.executemany()。将序列转换为字典,反之亦然

相反也是有用的,即从数据库中读取行并将它们转换成字典供以后使用。

什么是从myseq到mydict,从mydict到myseq的最佳途径?

>>> myseq = ((0,1,2,3), (4,5,6,7), (8,9,10,11)) 

>>> mydict = {0: (1, 2, 3), 8: (9, 10, 11), 4: (5, 6, 7)} 

回答

5
mydict = dict((s[0], s[1:]) for s in myseq) 

myseq = tuple(sorted((k,) + v for k, v in mydict.iteritems())) 
+0

谢谢!我实际上并不需要排序的列表。 – Louis 2010-05-06 04:47:21

2
>>> mydict = dict((t[0], t[1:]) for t in myseq)) 

>>> myseq = tuple(((key,) + values) for (key, values) in mydict.items()) 

不会保留元组的myseq的顺序,因为字典是无序的。