0
我有一個db查詢返回一個列表。然後我做了這樣的詞典理解:groupby迭代器不會添加到字典理解列表中
results = {product: [g for g in group] for product, group in groupby(db_results, lambda x: x.product_id)}
問題是,字典的值只返回1值。我認爲這樣做是因爲該組是一個迭代器。
下返回組的每一個項目,所以我知道他們在那裏:
groups = groupby(db_results, lambda x: x.product_id)
for k,g in groups:
if k==1001:
print list(g)
我試圖獲得其關鍵列表在上面克所有值是關鍵字典。
我已經嘗試了許多變化,如:
blah = dict((k,list(v)) for k,v in groupby(db_results, key=lambda x: x.product_id))
,但我無法得到它的權利。
什麼是'db_results'? –
您能否提供一個可運行的示例,以顯示問題的示例數據? – BrenBarn
'[g for g in group]'不是一個合理的列表理解,因爲你從一個簡單的'list(group)'中得到相同的結果。另外'如果k = 1001:'是'SyntaxError',所以你沒有向我們展示你的真實代碼。 –