簡體   English   中英

如何存儲itertools查詢的輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM