Chr*_*ian 1 python json dictionary
我正在解析一个复杂的 json 字符串,并在我的班级中使用嵌套字典和一些嵌套的 dic.get() 函数。
当更高级别的键不存在时,我不想收到 None ,而是想找到一个空字典,以便我的代码 (dict.get()) 继续工作。
现在我想用空字典 {} 替换所有名为 None 的字典值,但我没有找到任何好的解决方案。
所以基本上我想要这个:
{'a': {},
'b': 'Text',
'c': 5,
'd': {'d1': {}}
Run Code Online (Sandbox Code Playgroud)
但遗憾的是:
{'a': None,
'b': 'Text',
'c': 5,
'd': {'d1': None}
Run Code Online (Sandbox Code Playgroud)
其他解决方案是递归遍历字典并替换None值:
def replace(d):
if isinstance(d, dict):
for k in d:
if d[k] is None:
d[k] = {}
else:
replace(d[k])
elif isinstance(d, list):
for v in d:
replace(v)
d = {'a': None,
'b': 'Text',
'c': 5,
'd': {'d1': None}}
replace(d)
print(d)
Run Code Online (Sandbox Code Playgroud)
印刷:
{'a': {}, 'b': 'Text', 'c': 5, 'd': {'d1': {}}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
525 次 |
| 最近记录: |