簡體   English   中英

Python從具有key:value字符串的列表中創建字典

[英]Python create dictionary from a list that has key:value strings

我有一個包含以下數據的列表second_list

 {"forename":"SomeForename","surname":"SomeSurname","title":"MR"}
 {"postTown":"LONDON"}
 {"country":"ZIMBABWE"}
 {"forename":"SomeOtherForename","surname":"SomeOtherSurname"}
 {"postTown":"LONDON"}
 {"country":"ZIMBABWE"}

我正在嘗試將該列表轉換為像這樣的字典:

dict_values = {}
for i in second_list:
    dict_values.update(ast.literal_eval(i))

但是字典的鍵和值會被最后一個鍵和值所覆蓋。 因此,我得到了一個包含以下數據的字典:

{"forename":"SomeOtherForename","surname":"SomeOtherSurname"}
{"postTown":"LONDON"}
{"country":"ZIMBABWE"}

我想要實現的是將具有list的字典作為一個值,如下所示:

{'forename':[someForename, SomeOtherForename], 'surname:'[someSurname, someOtherSurname]}

等等

有沒有一種方法可以將列表中的所有數據轉換為字典而不覆蓋它?

from collections import defaultdict
dict_values = defaultdict(list)
for i in second_list:
    for k, v in ast.literal_eval(i).iteritems():
        dict_values[k].append(v)

暫無
暫無

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

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