Удаление дубликатов массива Python
Фильтруйте повторяющиеся элементы из списка Python, сохраняя их исходный порядок вставки.
Обзор
Удаление дубликатов — одна из наиболее распространенных операций по очистке данных в программном обеспечении.
Приведение списка к набору (`set(arr)`) удаляет дубликаты, но нарушает порядок элементов, поскольку наборы неупорядочены.
Чтобы удалить дубликаты, сохраняя порядок, мы перебираем список и отслеживаем видимые элементы в наборе, добавляя новые в список результатов.
Код и вывод выполнения
Эффективный аккумулятор уникальных элементов O(n), сохраняющий порядок.
def remove_duplicates(arr):
seen = set()
result = []
for item in arr:
if item not in seen:
seen.add(item)
result.append(item)
return result
sample_list = [1, 2, 2, 3, 4, 4, 1, 5]
print("Original:", sample_list)
print("Unique: ", remove_duplicates(sample_list))Original: [1, 2, 2, 3, 4, 4, 1, 5]
Unique: [1, 2, 3, 4, 5]Пошаговая реализация
- Очистка истории поиска и журналов записей транзакций
- Подготовка списка уникальных ключей данных для SQL-запросов
- Очистка массивов для отображения визуализации
Часто задаваемые вопросы
Каков самый быстрый способ сделать это вPython 3.7+?
ПосколькуPython 3.7+ сохраняет порядок вставки словаря, вы можете запустить `list(dict.fromkeys(arr))`, чтобы удалить дубликаты, сохраняя порядок, за один оптимизированный шаг.
Связанные темы
Изучите алгоритмы сортировки Python. Визуализируйте пузырьковую сортировку и сортировку слиянием в контексте IDE браузера.
Алгоритм двоичного поиска PythonПоиск в отсортированных списках осуществляется за логарифмическое время O(log n). Запускайте и разбирайтесь в двоичном поиске в Python, включая пошаговую логику, крайние случаи и оптимизации.