【发布时间】:2018-10-07 18:41:31
【问题描述】:
好吧,我有的是:
foo = {1: {'f1': 'c1'}, 2: {'f2': 'c2'}}
我想使用列表理解(如果可能的话)得到的是合并所有二级字典值:
bar = {'f1': 'c1', 'f2': 'c2'}
我尝试的是这样的:
bar = {k:v for k, v in tmp.items() for tmp in list(foo.values())}
现在这让我明白了:
NameError: name 'tmp' is not defined
这似乎是合乎逻辑的解决方案,但显然是不行的,如果可能的话,您能否建议一个使用列表理解的解决方案,或者其他一些衬里,或者如果这不可能,我会得到这个错误的原因好知识。
谢谢,
【问题讨论】:
标签: python python-3.x dictionary list-comprehension python-3.6