Преобразуйте последовательность последовательностей к словарю и наоборот

Один способ вручную сохранить словарь к базе данных состоит в том, чтобы сгладить его в последовательность последовательностей и передать последовательность как аргумент 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
задан Louis 6 May 2010 в 04:28
поделиться

2 ответа

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

myseq = tuple(sorted((k,) + v for k, v in mydict.iteritems()))
5
ответ дан 14 December 2019 в 08:45
поделиться
>>> mydict = dict((t[0], t[1:]) for t in myseq))

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

Упорядочение кортежей в myseq не сохраняется, поскольку словари неупорядочены.

2
ответ дан 14 December 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: