Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 4, 2015 08:34:14

slepov
Зарегистрирован: 2015-04-04
Сообщения: 11
Репутация: +  1  -
Профиль   Отправить e-mail  

Удалить дубликаты словарей из списка

Есть список содержащий словари. Необходимо написать функцию, которая удаляет дубликаты словарей. Дубликат определяется по значению одного из ключей словаря. То есть из:

[{'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}, {'id': 3, 'name': 'v'}, {'id': 1, 'name': 'b'}, {'id': 4, 'name': 'c'}]
необходимо получить:
[{'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}, {'id': 3, 'name': 'v'},  {'id': 4, 'name': 'c'}]

Офлайн

#2 Апрель 4, 2015 09:41:50

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Удалить дубликаты словарей из списка

def f(keyname, lst):
    s = set()
    out = list()
    for item in lst:
        if item[keyname] not in s:
            s.add(item[keyname])
            out.append(item)
    return out

Офлайн

#3 Апрель 4, 2015 10:18:01

slepov
Зарегистрирован: 2015-04-04
Сообщения: 11
Репутация: +  1  -
Профиль   Отправить e-mail  

Удалить дубликаты словарей из списка

Спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version