【发布时间】:2014-07-16 13:12:17
【问题描述】:
这更像是一个最佳实践问题。我创建的内容运行良好,但我很好奇是否有更短的方法可以根据我当前的数据结构创建字典。
我正在从 SQLite 数据库中读取表,数据以元组列表的形式返回。 例如
[(49, u'mRec49', u'mLabel49', 1053, 1405406806822606L, u'1405406906822606'),
(48, u'mRec48', u'mLabel48', 1330, 1405405806822606L, u'1405405906822606'),
(47, u'mRec47', u'mLabel47', 1220, 1405404806822606L, u'1405404906822606')...
]
我想获取列表元组结构的每一列,使其成为一个列表,从数据库中获取列名并将其用作保存列表的键。后来我把我的字典变成了 JSON。
这是我的功能,它可以完成工作,我不禁想知道是否有更好的方法来做到这一点。
def make_dict(columns, list_o_tuples):
anary = {}
for j, column in enumerate(columns):
place = []
for row in list_o_tuples:
place.append(row[j])
anary[column] = place
return anary
make_dict(mDBTable.columns, mDBTable.get_table())
注意:函数不应该关心它呈现的表格,或者表格中的数量或行和列。
【问题讨论】:
-
SQLite 表如何有任意数量的列?
-
数据结构不同,我构建字典的目标也不同。阅读问题。
-
我有几个不同的表,每个表都有不同的列数和行数。该函数不应该关心它与什么表一起呈现。
标签: python list sqlite dictionary tuples