[英]how to create a dictionary with list of dictionaries as values from a list of dictionaries
[英]How to create a list of dictionaries from a dictionary
比方說我有這個詞典
my_dict = {'10/31/2016': 66.49746192893402, '11/14/2016': 63.95939086294417,
'08/29/2016': 77.15736040609137}
是否可以將該字典轉換為字典列表,使其看起來像這樣。
my_list_dict = [{'attendance': 66.49746192893402, 'date': '10/31/2016'},
{'attendance': 63.95939086294417, 'date': '11/14/2016'},
{'attendance': 77.15736040609137, 'date': '08/29/2016'}]
代碼會是什么樣的?
當然,你可以使用列表理解來做到這一點:
[{'attendance': a, 'date': d} for d, a in my_dict.items()]
您可以使用列表推導來創建字典:
my_list_dict = [{'attendance': v, 'data': k} for k,v in my_dict.items()]
一個簡單的列表理解可以為您做到這一點:
[{'attendance': v, 'date': k} for k, v in my_dict.items()]
這為您提供了所需的輸出:
[{'attendance': 63.95939086294417, 'date': '11/14/2016'},
{'attendance': 77.15736040609137, 'date': '08/29/2016'},
{'attendance': 66.49746192893402, 'date': '10/31/2016'}]
在Python2中,您還可以使用iteritems
,它將為您提供大型詞典的加速:
[{'attendance': v, 'date': k} for k, v in my_dict.iteritems()]
一個更詳細的例子,顯示迭代而不是理解。 雖然這可能更容易理解,但我會使用這種理解。
my_dict = {'10/31/2016': 66.49746192893402, '11/14/2016': 63.95939086294417,
'08/29/2016': 77.15736040609137}
x = []
for item in my_dict:
new_dict = {'attendance': my_dict[item], 'date': item}
x.append(new_dict)
print(x)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.