:を使用しOrderedDict
ます
from collections import OrderedDict
result = OrderedDict(zip(cursor.description, data))
例:
>>> from collections import OrderedDict
>>> cols = ['userid', 'cid', 'mid', 'did', 'msid']
>>> data = (29L, 35L, None, '', None)
>>> result = OrderedDict(zip(cols, data))
>>> result
OrderedDict([('userid', 29L), ('cid', 35L), ('mid', None), ('did', ''), ('msid', None)])
>>> result['userid']
29L
>>> result['cid']
35L
>>> list(result)
['userid', 'cid', 'mid', 'did', 'msid']
CPython3.6以降およびPython3.7以降では、通常dict
のsは挿入順に並べ替えられるため、コードが適切なバージョンで実行されることがわかっている場合は、dict
代わりにここで使用できます。OrderedDict
Python 3.7以降のみ(またはCPythonではPython 3.6):
>>> cols = ['userid', 'cid', 'mid', 'did', 'msid']
>>> data = (29, 35, None, '', None)
>>> result = dict(zip(cols, data))
>>> result
{'userid': 29, 'cid': 35, 'mid': None, 'did': '', 'msid': None}
>>> result['userid']
29
>>> result['cid']
35
>>> list(result)
['userid', 'cid', 'mid', 'did', 'msid']