Хорошо, так что у меня есть:
foo = {1: {'f1': 'c1'}, 2: {'f2': 'c2'}}
То, что я хочу получить, используя понимание списка (если возможно, конечно), это объединить все значения словаря 2-го уровня следующим образом:
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
Это похоже на логическое решение, но, по-видимому, его нет, не могли бы вы предложить решение, использующее понимание списка, если это возможно, или какой-то другой вкладыш, или, если это было бы невозможно, понимание того, почему я получаю эту ошибку, будет хорошие знания, чтобы иметь.
Спасибо