[英]Convert a dict into a list of dicts python
我想轉換以下字典:
{'Stockholm': ['235', '35'], 'Helsinki': ['285', '15'],
'Copenhagen': ['180', '60'], 'Berlin': ['185', '85'],
'Prague': ['190', '115'], 'Warsaw': ['260', '105'],
'Moscow': ['370', '80'], 'Sofia': ['275', '170'],
'Ankara': ['340', '190'], 'Athens': ['285', '205']}
變成:
[{'Stockholm':['235', '35']},{'Helsinki': ['285', '15']},
{'Copenhagen': ['180', '60']},...,{'Athens': ['285', '205']}]
我不知道如何轉換它。
您可以對dict.items()
對使用列表理解:
[{k: v} for k, v in d.items()] # where d is your dictionary
這將為每個鍵值對創建一個單獨的字典。
您不能依賴輸入字典中的任何順序,因此輸出順序將取決於字典的插入和刪除歷史記錄(除非您使用的是Python 3.6或更高版本)。
演示:
>>> d = {'Stockholm': ['235', '35'], 'Helsinki': ['285', '15'],
... 'Copenhagen': ['180', '60'], 'Berlin': ['185', '85'],
... 'Prague': ['190', '115'], 'Warsaw': ['260', '105'],
... 'Moscow': ['370', '80'], 'Sofia': ['275', '170'],
... 'Ankara': ['340', '190'], 'Athens': ['285', '205']}
>>> [{k: v} for k, v in d.items()]
[{'Stockholm': ['235', '35']}, {'Helsinki': ['285', '15']}, {'Copenhagen': ['180', '60']}, {'Berlin': ['185', '85']}, {'Prague': ['190', '115']}, {'Warsaw': ['260', '105']}, {'Moscow': ['370', '80']}, {'Sofia': ['275', '170']}, {'Ankara': ['340', '190']}, {'Athens': ['285', '205']}]
簡單的方法:
d = {'Stockholm': ['235', '35'], 'Helsinki': ['285', '15'],
'Copenhagen': ['180', '60'], 'Berlin': ['185', '85'],
'Prague': ['190', '115'], 'Warsaw': ['260', '105'],
'Moscow': ['370', '80'], 'Sofia': ['275', '170'],
'Ankara': ['340', '190'], 'Athens': ['285', '205']}
d = [d]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.