把List中的前几个作为多级字典的键,最后一个值作为多级字典的值
时间: 2023-05-28 16:03:45 浏览: 51
可以使用递归的方法来实现将List中的前几个作为多级字典的键,最后一个值作为多级字典的值。
以下是一个示例代码:
```python
def create_nested_dict(keys, value):
if len(keys) == 1:
return {keys[0]: value}
else:
return {keys[0]: create_nested_dict(keys[1:], value)}
def create_nested_dict_from_list(lst):
keys = lst[:-1]
value = lst[-1]
return create_nested_dict(keys, value)
```
使用方法:
```python
lst = ["a", "b", "c", "d"]
nested_dict = create_nested_dict_from_list(lst)
print(nested_dict) # 输出 {'a': {'b': {'c': 'd'}}}
```
首先,`create_nested_dict` 函数接收两个参数:`keys` 和 `value`。如果 `keys` 的长度为 1,就将其作为字典的键,`value` 作为字典的值,然后返回这个字典。否则,将 `keys` 的第一个元素作为字典的键,递归调用 `create_nested_dict` 函数来创建嵌套的字典,并将 `value` 作为最内层字典的值,最后返回这个字典。
然后,`create_nested_dict_from_list` 函数接收一个 List 参数 `lst`,将列表中的最后一个元素作为值 `value`,将列表中的前面所有元素作为键 `keys`,然后调用 `create_nested_dict` 函数来创建嵌套的字典,并返回这个字典。
最后,我们可以使用 `create_nested_dict_from_list` 函数来创建一个多级字典。