字典中的字典

Dict within a dict

我有如下数据结构和编写的代码:

alpha = {'Jan': [1,2,3]}
beta = {'Jan': [4,5,6]}
carter = {'Jan': ['boo', 'fee', 'lee']}

delta = {month: {month: [b-a for (b, a) in zip(be, al)]
                for (month, be), (month, al) in zip(beta.items(), alpha.items())}
        for month, ca in carter.items()}

print(delta)
{'Jan': {'Jan': [3, 3, 3]}}

但是,我希望结果看起来像这样:

{'Jan': {'boo': 3, 'fee': 3, 'lee': 3}

为了获得预期的结果,正确的写法是什么?

假设您的输出是 {'Jan': {'boo': 3, 'fee': 3, 'lee': 3}}:

delta = {month: 
            {ca : (b - a) for ca, b, a in zip(carter[month], beta[month], alpha[month])} 
            for month in carter.keys()}

简单的字典理解应该有所帮助:

alpha = {'Jan': [1,2,3]}
beta = {'Jan': [4,5,6]}
carter = {'Jan': ['boo', 'fee', 'lee']}
K = list(alpha)[0]
delta = {K: {n: a - b for n, a, b in zip(Carter[K], beta[K], alpha[K])}}
print(delta)

输出:

{'Jan': {'boo': 3, 'fee': 3, 'lee': 3}}