2010-05-06 98 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的順序,因爲字典是無序的。