簡體   English   中英

將字典轉換為字典python列表

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

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