Уникальный список Python с использованием set [duplicate]

Возможный дубликат:

Как вы удаляете дубликаты из списка в Python, сохраняя порядок?

То, что я пытаюсь сделать, это написать метод, который принимает список в качестве аргумента и использует набор для возврата копии списка, где каждый элемент встречается только один раз, а также наличие элементов в новом списке в порядке их Первое вхождение в исходном списке. Я должен использовать набор для этого, однако, я могуt сделать так, чтобы выходные данные были в правильном порядке, в то же время имея быстрый результат. Если я поставлю что-то вроде этого:

def unique(a):

return list(set(a))

и передал список с миллионами элементов, это дало бы мне результат быстро, но это незаказывать Итак, что у меня есть сейчас:

def unique(a):
b = set(a)
c = {}
d = []
for i in b:
    c[a.index(i)] = i
for i in c:
    d.append(c[i])
return d

Это дает мне желаемый результат, но недостаточно быстро. Если я передам список с миллионом элементов, я мог бы ждать полчаса, тогда как один вкладыш там занимает меньше секунды. Как я мог решить эту проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос