Прикольную хуету увидел в тз. Задача небольшая, попробуйте решить сами или прост тыкните на решение



Задание:

Написать функцию на языке Python, которая удаляет дубликаты в списке. Сложность функция не должна превышать или достигать O(n^2)



Решение:



# сложность O(n*log n)

data = [{"key1": "value1"}, {"k1": "v1", "k2": "v2", "k3": "v3"}, {}, {}, {"key1": "value1"}, {"key1": "value1"}, {"key2": "value2"}]



def remove_duplicates(data):

""" удаление дубликатов из списка """



# множество для хранения уникальных элементов

unique_data = set()

# итерируемся по каждому словарю в списке

for el in data:

# преобразование словаря в отсортированный по ключам кортеж и добавляем его в множество

unique_data.add(tuple(sorted(el.items())))

# преобразование каждого уникального кортежа в словарь и добавление его в новый список

return [dict(item) for item in unique_data]



result = remove_duplicates(data)



print(result)