Найти - Пользователи
Полная версия: Удалить дубликаты словарей из списка
Начало » Python для новичков » Удалить дубликаты словарей из списка
1
slepov
Есть список содержащий словари. Необходимо написать функцию, которая удаляет дубликаты словарей. Дубликат определяется по значению одного из ключей словаря. То есть из:
[{'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'}]

bismigalis
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
slepov
Спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB