在一個燒瓶專案中,我回圈通過兩個串列來執行查詢。每個串列中的專案都是 SQL 陳述句中的變數。我希望將每個查詢的結果分配給結果字典中的一個鍵:
dict1 = {}
dict2 = {}
list1 = [0,1]
list2 = ['criteria1', 'criteria2', 'criteria3']
for item in list1:
cur.execute(query_one(item))
foo = cur.fetchall()
dict1[item] = foo
for criterion in list2:
cur.execute(query_two(item, criterion)):
bar = cur.fetchall()
dict2[item][criterion] = bar
dict1 看起來不錯,但上面給了我 KeyError: 0 on dict2。
如果我將最后一位更改為dict2[criterion] = bar
Thendict2僅包含來自查詢的結果list1[1]- 如下所示:
{[result3], [result4]}
我想 dict2看起來像:
{0: [results1], [results2], 1: [results3], [results4]}
感謝任何幫助。
uj5u.com熱心網友回復:
您必須在其中創建一個空字典,dict2[item]以便分配給它的鍵。
dict1 = {}
dict2 = {}
list1 = [0,1]
list2 = ['criteria1', 'criteria2', 'criteria3']
for item in list1:
cur.execute(query_one(item))
foo = cur.fetchall()
dict1[item] = foo
dict2[item] = {}
for criterion in list2:
cur.execute(query_two(item, criterion)):
bar = cur.fetchall()
dict2[item][criterion] = bar
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/436675.html
上一篇:動態更改變數名稱,評估和填充字典
下一篇:如何間接訪問類實體屬性?
