現在,我想弄清楚一種使用SQLITE數據庫自動創建以下字典的方法。在Python中爲SQLITE中的每個鍵創建一個包含多個值的字典
produce = {1:[2,4], 2:[1,2,3], 3:[2,3,4]}
關鍵是一個工廠,其附加的價值是產品,這個工廠能夠生產。即1:[2,4] - >工廠之一可以生產產品2和4.
在我的SQLITE數據庫中,我有一個包含四個字段的表:idfactory [INT],idproduct [INT],production [BOOL ]。我然後用下面的代碼來獲得相關數據集:
cur.execute('SELECT idfactory,idproduct FROM production WHERE production=1')
result = cur.fetchall()
然後我的想法是,使用循環來填補我的字典裏,像這樣的東西:
for idfactory,idproduct in result:
p[idfactory] = idproduct
然而,這代碼會產生錯誤,並且也會有問題,因爲我的數據庫中沒有唯一的KEY。
我不太確定我的解釋是否足夠,但任何幫助將非常感謝!
可能是這嗎? 'id for id,prod in result:p.setdefault(id,[])。append(prod)' – mshsayem
在嘗試迭代它之前檢查'result'是否爲空。 – michaelmeyer