两个python字典(键和值)的递归差异

两个python字典(键和值)的递归差异,第1张

两个python字典(键和值)的递归差异

一种选择是将您遇到的所有列表转换成字典,并将索引作为键。例如:

# add this function to the same moduledef list_to_dict(l):    return dict(zip(map(str, range(len(l))), l))# add this pre under the 'if type(d2[k]) == dict' block         elif type(d2[k]) == list:  dd(list_to_dict(d1[k]), list_to_dict(d2[k]), k)

这是带有注释的示例词典的输出:

>>> d1 = {"name":"Joe", "Pets":[{"name":"spot", "species":"dog"}]}>>> d2 = {"name":"Joe", "Pets":[{"name":"spot", "species":"cat"}]}>>> dd(d1, d2, "base")Changes in baseChanges in PetsChanges in 0species changed in d2 to catDone with changes in 0Done with changes in PetsDone with changes in base

请注意,这将按索引对索引进行比较,因此需要进行一些修改才能很好地适用于添加或删除的列表项。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5143197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存