Skip to main content
 首页 » 编程设计

python之有效地创建字典列表

2025年05月04日22me-sa

我已经实现了一种创建字典列表的方法,但我想知道是否有更有效的方法(同时保留两个列表中的顺序元素):

#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]