如何将字典列表附加到字典中的键值上?

问题描述 投票:0回答:1

例如:

list1 = [{'vehicle': {'bmw': 2, 'cus': 'mr x', 'extra': 'he is awesome'}}, 
        {'fruit': {'mango': 2, 'color': 'gelb', 'extra': 'king of fruits'}}]

print(list1)

[{''vehicle':{'bmw':2,'cus':'mr x','extra':'he is awesome'}},{'fruit':{'mango':2,'color':'gelb','extra':'水果之王'}}]

final_ds_dict={}

final_ds_dict.update({'datasets': {'training': list1}})

print(final_ds_dict)

我得到的输出如下:

{'datasets': {'training': [{'vehicle': {'bmw': 2,
     'cus': 'mr x',
     'extra': 'he is awesome'}},
   {'fruit': {'mango': 2, 'color': 'gelb', 'extra': 'king of fruits'}}]}}

但是,我不将其附加为列表。

所需的输出应如下:

{'datasets': {'training': {'vehicle': {'bmw': 2,
     'cus': 'mr x',
     'extra': 'he is awesome'}},
   {'fruit': {'mango': 2, 'color': 'gelb', 'extra': 'king of fruits'}}}}

有人可以帮助解决这个问题吗?

python list python-2.7 ordereddictionary dictionary-comprehension
1个回答
0
投票

您可以将列表理解与dict一起使用以构成内部词典:

list1 = [{'vehicle': {'bmw': 2, 'cus': 'mr x', 'extra': 'he is awesome'}}, 
    {'fruit': {'mango': 2, 'color': 'gelb', 'extra': 'king of fruits'}}]
result = {'datasets':dict(i for b in list1 for i in b.items())}

输出:

{'datasets': 
    {'vehicle': {'bmw': 2, 'cus': 'mr x', 'extra': 'he is awesome'}, 
     'fruit': {'mango': 2, 'color': 'gelb', 'extra': 'king of fruits'}
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.