如何将列表转换为嵌套字典?

时间:2020-08-27 18:05:01

标签: python dictionary

我正在尝试根据下面的列表创建嵌套字典。

assets = ["GOOG", "AMZN"]

variables=['LastTradePrice','Spread','QTD']

c = ['0']

我尝试了下面的代码,但由于缺少一些信息,因此仅使用一个资产和一个变量,我就希望将其作为简短的字典使用。我希望将2个资产作为“主键”,将3个变量作为“子键”,每个变量子键”,后跟0作为值。

尝试过此代码:

dct = {x: {str(y): str(z)} for x, y, z in zip(assets,variables,c)}

我得到的结果:

{'GOOG':{'LastTradePrice':'0'}}

预期结果:

{'GOOG':{'LastTradePrice': '0','Spread':'0','QTD':'0'}, 'AMZN': {'LastTradePrice':'0','Spread':'0','QTD':'0'}}

1 个答案:

答案 0 :(得分:1)

尝试一下

res = {x: dict(zip(variables, c * len(variables))) for x in assets}
print(res)

输出:

{'GOOG': {'LastTradePrice': '0', 'Spread': '0', 'QTD': '0'}, 'AMZN': {'LastTradePrice': '0', 'Spread': '0', 'QTD': '0'}}