簡體   English   中英

嵌套列表到python中的嵌套字典

[英]Nested list to nested dictionary in python

我有一個棘手的問題,但可能是一個簡單的解決方案。

我有一個嵌套列表,希望將每個列表的第一個值包含在字典中作為鍵。 我希望將該列表中包含的所有其他元素作為值添加到該鍵。

這是嵌套列表的示例:

stations[[1, 'carnegie', 12345, 30],[2, 'london', 12344, 30], [4, 'berlin', 1345563, 30]]

我希望將其轉換為以下格式的字典:

stations {1:['carnegie', 12345, 30], 2:['london', 12344, 30], 4:['berlin', 1345563, 30]}

嵌套列表很大,因此這里僅作為示例提供:)

我目前的嘗試產生了以下最佳選擇:

newDict = dict.fromkeys(stations,{})

這給了我:

{1: {}, 2:{}, 4:{}}

我不知所措的是,如何將鍵和值結合起來以構成理想的字典。

任何幫助都會很棒。

編輯:

要添加的是,我希望能夠為字典分配一個變量名,就像下面提供的當前解決方案一樣:

{i[0] : i[1:] for i in stations}

這在循環中為我提供了正確的輸出,但是當我在循環中為其分配變量時,它將為我提供最終的key:value在字典中

newDict = {}
 for y in stations:
   newDict = {y[0] : y[1:]}

print newDict

收益:

{4: ['berlin', 1345563, 30]}

謝謝!

>>> stations = [[1, 'carnegie', 12345, 30],[2, 'london', 12344, 30], [4, 'berlin', 1345563, 30]]

您可以使用dict理解

>>> {i[0] : i[1:] for i in stations}
{1: ['carnegie', 12345, 30], 2: ['london', 12344, 30], 4: ['berlin', 1345563, 30]}

使用dict理解:

{i[0]: i[1:] for i in stations}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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