在Python中,字典可以嵌套,意味着一个字典的值可以是另一个字典。以下是一个简单的例子,展示了如何创建一个嵌套字典:
```python
原始字典
dict1 = {
"a": 1,
"b": 2,
"c.1": 3,
"c.2": 4,
"d.5.2": 5,
"d.5.3": 6,
"d.4.1": 7
}
使用setdefault方法将嵌套字典结构化
dict2 = {}
for key, value in dict1.items():
keys = key.split('.')
current = dict2
for k in keys[:-1]:
current = current.setdefault(k, {})
current.setdefault(keys[-1], value)
print(dict2)
输出结果:
```
{
'a': 1,
'b': 2,
'c': {
'1': 3,
'2': 4
},
'd': {
'5': {
'2': 5,
'3': 6
},
'4': {
'1': 7
}
}
}
在这个例子中,我们首先定义了一个原始字典`dict1`,其中包含一些具有点号'.'作为分隔符的键。然后,我们遍历`dict1`中的每个键值对,使用`split('.')`方法将键分割成多个部分。接着,我们创建一个新的空字典`dict2`,并逐步构建嵌套结构,直到达到最内层的键。我们使用`setdefault`方法来确保在构建嵌套字典的过程中,如果某个中间键不存在,则会自动创建一个新的字典。