Вложенный словарь с двойными ключами, но с разными значениями

Мне сложно возвращать значения каждого экземпляра $t во вложенном словаре ниже. Что мне нужно сделать, это потянуть каждую из пар ключ-значение и добавить их отдельно в другой словарь.

Вот JSON:

 "breed": [ { "$t": "Chihuahua" }, { "$t": "Jack Russell Terrier" } ] 

Кстати, я использую Python 2.7

3 Solutions collect form web for “Вложенный словарь с двойными ключами, но с разными значениями”

Что-то вроде этого?

 >>> o = [ { "$t": "Chihuahua" }, { "$t": "Jack Russell Terrier" } ] >>> [ item["$t"] for item in o ] ['Chihuahua', 'Jack Russell Terrier'] >>> 

Это то, что вы ищите? (Это зависит от того, как вы хотите обрабатывать несколько значений, соответствующих одному и тому же $t .)

 nestedDict = { "breed": [ { "$t": "Chihuahua" }, { "$t": "Jack Russell Terrier" } ] } dictEntries = [ (k, v) for dicList in nestedDict.values() for d in dicList for (k, v) in d.items() ] flattenedDict = { } for k, v in dictEntries: flattenedDict.setdefault( k, [] ).append( v ) print ( flattenedDict ) 

Это дает вам:

 {'$t': ['Chihuahua', 'Jack Russell Terrier']} 

Я не понимаю, что вы пытаетесь сделать. Если вы хотите создать Python dict из JSON ans, получите его значения с помощью ключа «$ t», вот он (если нет, комментарий и я удаляю ответ).

 # Many thanks to Dogbert, whose answer I copied the list comprehension from # (changing a few things), and many thanks to slothrop, whose answer gave me # ideas for my variable name. Not for those people, I would have used a silly # name like `thing` and would have used a for loop. import json nested_dict = json.loads('{"breed": [{"$t": "Chihuahua"}, ' '{"$t": "Jack Russell Terrier"}]}') [dic["$t"] for dic in nested_dict["breed"]] 

Если вам нужны пары ключ-значение каждого dict внутри вашего dict:

 key_and_value_pairs = [] for dic in nested_dict["breed"]: key_and_value_pairs.extend(dic.items()) 
  • Сохранение словаря Python во внешнем файле?
  • Есть ли уловка «перегрузить оператор точки»?
  • Как сохранить потоковые твиты в json через tweepy?
  • Запуск JSON через eval () Python?
  • Принудительное применение / json MIME-тип в представлении (Flask)
  • Разбор нескольких объектов json, находящихся в одной строке
  • Хруст json с python
  • Флажок JSONEncoder установлен для обеспечения_ascii для False
  • Python: строка JSON в список словарей - получение ошибки при итерации
  • Pretty JSON Форматирование в IPython Notebook
  • Python - Map / Reduce - Как читать конкретное поле JSON при использовании примера count count count
  •  
    Interesting Posts for Van-Lav

    python: замените double \\ в пути с помощью одного \

    Python matplotlib ограничивает число целых тиков

    Есть ли клиент WebSocket для python?

    Как найти медиану в Apache Spark с API-интерфейсом Python Dataframe?

    AttributeError: объект «numpy.int64» не имеет атрибута «timestamp» в python 3.5 в Anaconda

    Как извлечь параметры из списка и передать их вызову функции

    Извлечь reStructuredText из sphinx autodoc?

    Как прочитать файл Parquet в Pandas DataFrame?

    Цветные кодирующие ячейки в таблице на основе значения ячейки с использованием шаблонов Jinja

    Как подключиться к SQL Server высокой доступности из Python + SQL Алхимия

    «EOL во время сканирования строки с одним кавычком»? (обратная косая черта в строке)

    коллоидная sqlalchemy, запрашивающая столбец, не равный

    Как помещать произвольные виджеты в gtk.Menu?

    Есть ли хороший способ подготовить документацию для интерфейсов swig?

    Как я могу перемещать глобальные пакеты в виртуальную среду после создания виртуальной среды?

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