我正在尝试使用python动态创建嵌套字典。
例如,我需要创建一个函数,该函数将使用节点并使用这些节点构建嵌套字典。
例如:
输入: 'customers.applicant.individual.first_name'
输出:
customers : {
applicant: {
individual:{
firstname: {}
}
}
}
,对于每个节点,我需要确保它是否已经存在(如果存在的话),而不要跳过其他创建节点。任何人都可以在这方面提供任何帮助。
谢谢
答案 0 :(得分:0)
您可以利用python字典可变的事实,并执行以下操作:
input_item1 = 'customers.applicant.individual.first_name.Bob'
input_item2 = 'customers.applicant.individual.first_name.Jim'
inputs = [input_item1, input_item2]
output_dictionary = dict()
for input_item in inputs:
current_dict = output_dictionary
for item in input_item.split('.'):
if item in current_dict:
current_dict = current_dict[item]
else:
current_dict[item] = dict()
current_dict = current_dict[item]
print(output_dictionary)
基本上,由于字典是可变的,因此,如果您修改“ current_dict”,则所引用的较大词典中的条目也会被更新。
输出为:
{'customers': {'applicant': {'individual': {'first_name': {'Bob': {}, 'Jim': {}}}}}}