Задача: Удаление дубликатов из списка с сохранением порядка следования элементов

Опубликован: 20.09.2024 30

Условие: Сделайте функцию, которая параметром будет принимать список и удалять из него все дубли.

При этом, должен сохраняться порядок следования элементов в исходном списке.

Решение: Для удаления дубликатов из списка с сохранением порядка следования элементов в исходном списке воспользуемся методом dict.fromkeys().

В этом методе используется важное свойство словарей - все ключи словаря должны быть уникальны.

Функция dict.fromkeys() создает словарь с ключами из элементов исходного списка (тем самым удаляются дубликаты). Затем словарь преобразуется обратно в список.

# функция удаления дубликатов из списка lst с сохранением порядка следования элементов
def del_dublicate(lst: list):
    return list(dict.fromkeys(lst))


lst = [1, 3, 10, 1, 2, 8, 6, 7, 2, 4, 8, 5]
print(f"Исходный список: {lst}")
print(f"Список после удаления дубликатов: {del_dublicate(lst)}")

# Исходный список: [1, 3, 10, 1, 2, 8, 6, 7, 2, 4, 8, 5]
# Список после удаления дубликатов: [1, 3, 10, 2, 8, 6, 7, 4, 5]

Похожие посты

Задача: Решение квадратного уравнения

Задача: Тренажер таблицы умножения

Задача: Наибольший числовой палиндром

Задача: Разложение числа на простые множители

Комментариев нет.