Вложенное понимание словаря python

У меня возникли проблемы с пониманием вложенных понятий словаря в Python 3. Результат, который я получаю из приведенного ниже примера, выводит правильную структуру без ошибок, но включает только одну из внутренних пар ключ: значение. Я не нашел пример вложенного понимания слова как это; Googling «вложенное понимание словаря python» показывает устаревшие примеры, не вложенные решения или ответы, разрешенные с использованием другого подхода. Возможно, я использую неправильный синтаксис.

Пример:

data = {outer_k: {inner_k: myfunc(inner_v)} for outer_k, outer_v in outer_dict.items() for inner_k, inner_v in outer_v.items()} 

Этот пример должен возвращать исходный словарь, но с внутренним значением, измененным myfunc .

Структура словаря external_dict, а также результат:

 {outer_k: {inner_k: inner_v, ...}, ...} 

2 Solutions collect form web for “Вложенное понимание словаря python”

{inner_k: myfunc(inner_v)} не является пониманием словаря. Это просто словарь.

Вы, вероятно, ищете нечто подобное:

 data = {outer_k: {inner_k: myfunc(inner_v) for inner_k, inner_v in outer_v.items()} for outer_k, outer_v in outer_dict.items()} 

Ради удобочитаемости не слишком усложняйте понимание словарей и перечислите их.

Добавление некоторых разрывов строк и отступов:

 data = { outer_k: {inner_k: myfunc(inner_v)} for outer_k, outer_v in outer_dict.items() for inner_k, inner_v in outer_v.items() } 

… делает очевидным, что на самом деле у вас есть одно «двумерное» понимание понятий. Вероятно, вы действительно хотите:

 data = { outer_k: { inner_k: myfunc(inner_v) for inner_k, inner_v in outer_v.items() } for outer_k, outer_v in outer_dict.items() } 

(это именно то, что предложил Блендер в своем ответе, с добавленными пробелами).

  • Передача словаря функции в python в качестве параметров ключевого слова
  • Как слить несколько dicts с одним ключом?
  • Удаление дубликатов из словаря
  • Есть ли питонический способ обработки древовидных ключей?
  • Завершить значения dict до 2 десятичных знаков
  • Python: создать словарь с помощью dict () с помощью целых ключей?
  • получить ключ по значению, dict, python
  • python: мои классы как ключи dict. как?
  •  
    Interesting Posts for Van-Lav

    Что означает «следующие пакеты будут заменены каналом с более высоким приоритетом»?

    Как добавить пользовательские параметры в строку запроса URL-адреса с помощью Python?

    Встроенная функция Python «компилируется». Для чего его используют?

    GStreamer: состояние привязок Python и кодирование видео со смешанным звуком

    Обновлено до Ubuntu 16.04 теперь нарушены зависимости MySQL-python

    Приложение Python для Google Play Store

    Преобразование объекта генератора в словарь

    Ошибка повторной выборки: не может повторно индексировать неидеальный индекс с помощью метода или ограничения

    Python int для двоичного?

    ImportError: нет модуля с именем pandas

    Как обслуживать статический файл SVG с помощью Flask?

    Ленивая загрузка столбцов в sqlalchemy

    Убить многопроцессорный пул Python

    импортировать пакет python, когда модуль имеет такое же имя

    Разделение большого текстового файла на более мелкие текстовые файлы по номерам строк с использованием Python

    Python - лучший язык программирования в мире.