Я создаю плоские списки с 10 ^ 6 до 10 ^ 7 Реальные числа, а некоторые из них повторяются.
Мне нужно удалить повторяющиеся экземпляры, сохраняя только первое вхождение и не изменяя порядок списка.
Ключ здесь - эффективность, так как у меня много списков для обработки.
Пример (подделка):
Вход:
{.8, .3 , .8, .5, .3, .6}
Желаемый выход
{.8, .3, .5, .6}
Кроме примечания
Удаление повторяющихся элементов с помощью Union (без сохранения порядка) дает в моем бедном ноутбуке:
DiscretePlot[a = RandomReal[10, i]; [email protected]@[email protected], {i, 10^6 [email protected]}]