[英]How to create nested dictionary from two lists?
I have two lists: 我有两个清单:
ramp_versions=['RAMPS_1_6','RAMPS_10','RAMPS_11','RAMPS_7','RAMPS_8_9']
columns=['Version','Date','Total_Ramps','Virtual_Ramps','Real_Ramps','Real_Ramps_With_All_Measurements','Real_Ramps_Unsurveyable','Real_Ramps_Partial_With_999','Real_Ramps_Partial_WO_999','Real_Ramps_Partial_W_RAMP_WIDTH_<36_or_DWS_BAD']
I want to create a nested dictionary where each ramp_version is a key and the values are a dictionary where each value in the columns is a key 我想创建一个嵌套的字典,其中每个ramp_version是一个键,值是一个字典,其中列中的每个值是一个键
So this is what I am after: 所以这就是我的追求:
{'RAMPs_1_6': {'Version': "value",'Date': "value", 'Total_Ramps': "value", etc..},'RAMPS_10': {'Version': "value",'Date': "value", 'Total_Ramps': "value", etc..}
Use dict comprehension: 使用dict理解:
{ver: {col: "value" for col in columns} for ver in ramp_versions}
Output: 输出:
{'RAMPS_1_6': {'Version': 'value',
'Date': 'value',
'Total_Ramps': 'value',
'Virtual_Ramps': 'value',
'Real_Ramps': 'value',
'Real_Ramps_With_All_Measurements': 'value',
'Real_Ramps_Unsurveyable': 'value',
'Real_Ramps_Partial_With_999': 'value',
'Real_Ramps_Partial_WO_999': 'value',
'Real_Ramps_Partial_W_RAMP_WIDTH_<36_or_DWS_BAD': 'value'},
'RAMPS_10': {'Version': 'value',
'Date': 'value',
'Total_Ramps': 'value',
'Virtual_Ramps': 'value',
'Real_Ramps': 'value',
'Real_Ramps_With_All_Measurements': 'value',
'Real_Ramps_Unsurveyable': 'value',
'Real_Ramps_Partial_With_999': 'value',
'Real_Ramps_Partial_WO_999': 'value',
'Real_Ramps_Partial_W_RAMP_WIDTH_<36_or_DWS_BAD': 'value'},
'RAMPS_11': {'Version': 'value',
'Date': 'value',
'Total_Ramps': 'value',
'Virtual_Ramps': 'value',
'Real_Ramps': 'value',
'Real_Ramps_With_All_Measurements': 'value',
'Real_Ramps_Unsurveyable': 'value',
'Real_Ramps_Partial_With_999': 'value',
'Real_Ramps_Partial_WO_999': 'value',
'Real_Ramps_Partial_W_RAMP_WIDTH_<36_or_DWS_BAD': 'value'},
'RAMPS_7': {'Version': 'value',
'Date': 'value',
'Total_Ramps': 'value',
'Virtual_Ramps': 'value',
'Real_Ramps': 'value',
'Real_Ramps_With_All_Measurements': 'value',
'Real_Ramps_Unsurveyable': 'value',
'Real_Ramps_Partial_With_999': 'value',
'Real_Ramps_Partial_WO_999': 'value',
'Real_Ramps_Partial_W_RAMP_WIDTH_<36_or_DWS_BAD': 'value'},
'RAMPS_8_9': {'Version': 'value',
'Date': 'value',
'Total_Ramps': 'value',
'Virtual_Ramps': 'value',
'Real_Ramps': 'value',
'Real_Ramps_With_All_Measurements': 'value',
'Real_Ramps_Unsurveyable': 'value',
'Real_Ramps_Partial_With_999': 'value',
'Real_Ramps_Partial_WO_999': 'value',
'Real_Ramps_Partial_W_RAMP_WIDTH_<36_or_DWS_BAD': 'value'}}
Another version: 另一个版本:
nest = {}
for r in ramp_versions:
nest[r] = dict(zip(columns, ['val' for x in columns]))
Simply run a loop for keys and set values for that in an empty defined dictionary 只需为键运行循环并在空的已定义字典中为其设置值
see the following example: 请参见以下示例:
ramp_versions=['RAMPS_1_6','RAMPS_10','RAMPS_11','RAMPS_7','RAMPS_8_9']
columns=['Version','Date','Total_Ramps','Virtual_Ramps','Real_Ramps','Real_Ramps_With_All_Measurements','Real_Ramps_Unsurveyable','Real_Ramps_Partial_With_999','Real_Ramps_Partial_WO_999','Real_Ramps_Partial_W_RAMP_WIDTH_<36_or_DWS_BAD']
my_dict = {}
i=0
for ramp in ramp_versions:
my_dict[ramp] = columns[i]
i+=1
print(my_dict)
# print(my_dict.keys())
# print(my_dict.values())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.