А set
может быть лучшей структурой данных здесь, поскольку он не может иметь дубликаты в первую очередь. Вы можете также использовать его в качестве инструмента для uniquify списка:
>>> lst = ["bar", "foo", "foo"]
>>> set(lst)
set(['foo', 'bar'])
>>> list(set(lst))
['foo', 'bar']
Или, если вам нужно сохранить порядок, вы можете сохранить ваши данные в OrderedDict
:
>>> from collections import OrderedDict
>>> d = OrderedDict.fromkeys(lst)
>>> d
OrderedDict([('bar', None), ('foo', None)])
>>> list(d)
['bar', 'foo']
Обратите внимание, что для повышения производительности было бы лучше использовать правильную структуру данных в первую очередь, вместо использования необработанного списка и удаления дубликатов из него после каждой операции с использованием одного из этих преобразований.
TYSM! Ты спасатель! – bladezzz