python的dict对象update操作的一些收集

默认的dict.update()在处理dict中包含list/dict对象时候会直接进行替换,不能取并集,在某些场景下不满足需求。针对这一问题,网上有很多讨论的内容,stackoverflow这个帖子比较经典,可以参考

https://stackoverflow.com/questions/3232943/update-value-of-a-nested-dictionary-of-varying-depth#

综合上面的内容,整理一个比较简单能处理大部分场景的函数实现

python3里面有一个库pydantic,可以实现类似的操作,但是对dict里面的list会直接覆盖,而且不支持python2,所以有时还是须根据需要适当的改轮子

另外补充一个递归获取dict对象中key的值,如果有循环嵌套的dict或者list也可以递归处理:

 

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据