如果我有一个嵌套的字典d = {'a':{'b':{}}}和一个字符串'a.b.c'和一个值'X'
我需要根据键字符串将值放在dict中.
我想要实现的是硬编码,d['a']['b']['c'] = 'X'但我需要动态地进行.键串可以是任何长度.
对于奖励积分:我还需要创建密钥,如果它们不存在,'a.b.z'但我相信如果我能解决它们已经存在的情况,我可以弄明白.
gaw*_*wel 12
def set(d, key, value):
dd = d
keys = key.split('.')
latest = keys.pop()
for k in keys:
dd = dd.setdefault(k, {})
dd.setdefault(latest, value)
d = {}
set(d, 'a.b.c', 'X')
set(d, 'a.b.d', 'Y')
print(d)
Run Code Online (Sandbox Code Playgroud)
结果:
{'a': {'b': {'c': 'X', 'd': 'Y'}}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1213 次 |
| 最近记录: |