📜  Python – 将平面字典转换为嵌套字典

📅  最后修改于: 2022-05-13 01:54:29.829000             🧑  作者: Mango

Python – 将平面字典转换为嵌套字典

有时,在处理记录时,我们可能会遇到需要执行将多个平面字典转换为单个嵌套字典的任务的问题。这可以在广泛使用数据的许多领域中得到应用。让我们讨论可以执行此任务的某些方式。

方法#1:使用dict() + key access
这是可以执行此任务的方式之一。在此,我们使用 dict 构造空字典,并使用手动暴力键访问为字典分配一个新级别。

# Python3 code to demonstrate working of 
# Convert Flat dictionaries to Nested dictionary
# Using key access + dict()
  
# initializing dictionaries
test_dict1 = {'gfg' : 1, 'best' : 2}
test_dict2 = {'for' : 3, 'geeks' : 5}
  
# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))
  
# Convert Flat dictionaries to Nested dictionary
# Using key access + dict()
res = dict()
res["level1"] = test_dict1
res['level2'] = test_dict2
  
# printing result 
print("The nested dictionary is : " + str(res)) 
输出 :

方法 #2:使用zip()
这是可以执行此任务的另一种方式。在此我们使用 zip() 将内部键链接到外部键。

# Python3 code to demonstrate working of 
# Convert Flat dictionaries to Nested dictionary
# Using zip()
  
# initializing dictionaries
test_dict1 = {'gfg' : 1, 'best' : 2}
test_dict2 = {'for' : 3, 'geeks' : 5}
  
# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))
  
# Convert Flat dictionaries to Nested dictionary
# Using zip()
key_dict = ['level1', 'level2']
dict_list = [test_dict1, test_dict2]
res = dict(zip(key_dict, dict_list))
  
# printing result 
print("The nested dictionary is : " + str(res)) 
输出 :