字典中的字典
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}}
我有如下数据结构和编写的代码:
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}}