相关疑难解决方法(0)

两个python词典的递归diff(键和值)

所以我有一个python字典,调用它d1,以及稍后的一个字典版本,调用它d2.我想找到d1和之间的所有变化d2.换句话说,添加,删除或更改的所有内容.棘手的一点是值可以是整数,字符串,列表或字母,因此它需要是递归的.这是我到目前为止:

def dd(d1, d2, ctx=""):
    print "Changes in " + ctx
    for k in d1:
        if k not in d2:
            print k + " removed from d2"
    for k in d2:
        if k not in d1:
            print k + " added in d2"
            continue
        if d2[k] != d1[k]:
            if type(d2[k]) not in (dict, list):
                print k + " changed in d2 to " + str(d2[k])
            else:
                if type(d1[k]) != type(d2[k]):
                    print k …
Run Code Online (Sandbox Code Playgroud)

python recursion diff dictionary data-structures

31
推荐指数
6
解决办法
3万
查看次数

python中的Diff多维字典

我有两本词典

a = {'home': {'name': 'Team1', 'score': 0}, 'away': {'name': 'Team2', 'score': 0}}
b = {'home': {'name': 'Team1', 'score': 2}, 'away': {'name': 'Team2', 'score': 0}}
Run Code Online (Sandbox Code Playgroud)

密钥永远不会改变,但我想让['home'] ['score']改变

有什么简单的方法吗?

python

6
推荐指数
1
解决办法
2523
查看次数

标签 统计

python ×2

data-structures ×1

dictionary ×1

diff ×1

recursion ×1