Задать вопрос
@ambal245

Как создать JSON из массива с повторением первого элемента?

Недавно начал изучать Python/ Имеется массив такого рода
videos = [[1,1,'url'],[1,2,'url'],[1,3,'url'],[2,1,'url'],[2,2,'url']]

где первый элемент это сезон, второй - серия, третий - ссылка

Ни как не получается создать JSON такого вида:
[{
    "1": {
           "1": {"url"},
           "2": { "url" },
           "3": {"url"}
          },
      "2": {
              "1": { "url" },
              "2": { "url" }
            }
   }]

Все что мог получить в цикле for :
spoiler
[{1: ['url']}, {3: ['url']}, {2: ['url']}, {1: ['url']}, {2: ['url']}]

{1: {'url'}, 2: {'url'}}
  • Вопрос задан
  • 330 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Skillbox
    Middle-разработчик игр на Unity
    3 месяца
    Далее
  • ProductStar
    Python и Django: бэкенд-разработка
    2 месяца
    Далее
Решения вопроса 1
{"url"} - это не валидный json объект


Стоит лучше и тщательнее читать учебник про циклы и объекты в питоне

import json
import collections
videos = [[1,1,'url'],[1,2,'url'],[1,3,'url'],[2,1,'url'],[2,2,'url']]

new = collections.defaultdict(dict)

for season, series, url in videos:
    new[season][series] = url

print(json.dumps(new, indent=4))

{
    "1": {
        "1": "url",
        "2": "url",
        "3": "url"
    },
    "2": {
        "1": "url",
        "2": "url"
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ИТРУМ Ростов-на-Дону
от 75 000 ₽
СофтМоушен Санкт-Петербург
от 150 000 до 250 000 ₽
Яндекс Москва
от 180 000 до 350 000 ₽