我已经实现了一种创建字典列表的方法,但我想知道是否有更有效的方法(同时保留两个列表中的顺序元素):
#global variable
dict_agriculture = []
col_name_agriculture = [tuple[0] for tuple in querycurs.description]
rows_agriculture = querycurs.fetchall()
for row in rows_agriculture:
dict1 = dict(zip(col_name_agriculture, list(row)))
dict_agriculture.append(dict1)
请您参考如下方法:
你可以在这里使用列表理解;它在创建最终列表时效率更高。不要在迭代时使用.fetchall(),不要使用tuple作为变量名,也不需要调用list在每一行:
fields = [tup[0] for tup in querycurs.description]
dict_agriculture = [dict(zip(fields, row)) for row in querycurs]
