将序列序列转换为字典,反之亦然

时间:2010-05-06 04:28:20

标签: python list dictionary

将字典手动持久保存到数据库的一种方法是将其展平为一系列序列,并将序列作为参数传递给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)}

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

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

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

由于字典无序,因此不保留myseq中元组的顺序。