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

Как удалить дубликаты в json списке?

У меня такой json:
{
    "items": [
        {
            "start_price": "3000",
            "end_price": "2850",
            "classid": "3106096757",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "4500",
            "end_price": "4275",
            "classid": "3106142260",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "5000",
            "end_price": "4750",
            "classid": "310781333",
            "instanceid": "302028390",
            "name": "P90 | Teardown (Field-Tested)"
        }
    ]
}

Мне нужно отсортировать по названиям, т.е объект с одинаковым "name" (дублированным): будет удален. Например, с моего json должно остаться:
{
    "items": [
        {
            "start_price": "4500",
            "end_price": "4275",
            "classid": "3106142260",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "5000",
            "end_price": "4750",
            "classid": "310781333",
            "instanceid": "302028390",
            "name": "P90 | Teardown (Field-Tested)"
        }
    ]
}
  • Вопрос задан
  • 1208 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
netpastor
@netpastor
Python developer
input_data = {
    "items": [
        {
            "start_price": "3000",
            "end_price": "2850",
            "classid": "3106096757",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "4500",
            "end_price": "4275",
            "classid": "3106142260",
            "instanceid": "338584038",
            "name": "Souvenir MP5-SD | Lab Rats (Field-Tested)"
        },
        {
            "start_price": "5000",
            "end_price": "4750",
            "classid": "310781333",
            "instanceid": "302028390",
            "name": "P90 | Teardown (Field-Tested)"
        }
    ]
}

output_data = [v for v in {inp['name']: inp for inp in input_data['items']}.values()]
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы