在Python中,可以使用嵌套字典来将多个列表进行压缩。下面是实现该功能的示例代码:
def compress_lists_to_nested_dict(keys, values):
result = {}
for i in range(len(keys)):
key_list = keys[i]
value_list = values[i]
temp_dict = result
for j in range(len(key_list)-1):
key = key_list[j]
if key not in temp_dict:
temp_dict[key] = {}
temp_dict = temp_dict[key]
temp_dict[key_list[-1]] = value_list
return result
# 示例数据
keys = [['A', 'B', 'C'], ['A', 'D'], ['B', 'E'], ['C', 'F']]
values = [1, 2, 3, 4]
result = compress_lists_to_nested_dict(keys, values)
print(result)
以上代码定义了一个compress_lists_to_nested_dict
函数,该函数接受两个参数:keys
和values
。keys
是一个包含多个列表的列表,每个内部列表表示一个键的层级结构。values
是一个与keys
对应的值列表。
在函数内部,首先定义一个空字典result
,用于存储压缩后的嵌套字典。然后使用两个循环遍历每个键和值的列表。对于每个键列表,根据层级关系依次将键和值添加到result
字典中的相应位置。
最后,返回压缩后的嵌套字典result
。
对于以上示例数据,运行代码后的输出结果为:
{'A': {'B': {'C': 1, 'D': 2}, 'D': 2}, 'B': {'E': 3}, 'C': {'F': 4}}
这个结果表示将多个列表压缩到了嵌套字典中,其中键 'A'
的值是一个嵌套字典 {'B': {'C': 1, 'D': 2}, 'D': 2}
,键 'B'
的值是一个嵌套字典 {'E': 3}
,键 'C'
的值是一个嵌套字典 {'F': 4}
。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云