[英]How to store output of itertools query
我有以下查詢
for key, group in itertools.groupby(r, lambda item: item['b_id']):
print {key: [x['a_id'] for x in group]}
這給出了輸出
{'0d687c94c5f4': ['12345', '67890']}
{'9ec34be3d535': ['23857', '84596']}
{None: ['d82ebe9815cc']}
如何將其存儲到變量以訪問其內容
嘗試過數據 = {key: [x['a_id'] for x in group]} 但只給出循環的最后一個值,即 {None: ['d82ebe9815cc']}
>>data
>>{None: ['d82ebe9815cc']}
您將在每次迭代中創建一個帶有單個鍵的新字典。 相反,先定義一個字典,然后在循環中添加鍵:
data = {}
for key, group in itertools.groupby(r, lambda item: item['b_id']):
data[key] = [x['a_id'] for x in group]
或者,您可以使用字典理解(Python 2.7+):
data = {key: [x['a_id'] for x in group] for key, group in
itertools.groupby(r, lambda item: item['b_id'])}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.