使用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']
从 CPython 3.6 和 Python 3.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']