Станьте веб-разработчиком с нуля за 15 месяцев на курсе онлайн-университета Skypro. Преподаватели — практикующие эксперты из VK, «Альфа-Банка», Skyeng и других крупных компаний. В программе нет лишней теории, зато много практических заданий, а результаты курсовых можно положить в портфолио. Специалисты центра карьеры помогут с резюме, сопроводительными письмами и собеседованиями.
В работе с Python часто возникают ситуации, когда необходимо удалять дубликаты из списка, сохраняя при этом их изначальный порядок. Рассмотрим простой пример, когда есть список чисел:
numbers = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5]
Предположим, что требуется получить список уникальных чисел, но в том порядке, в котором они встречаются в исходном списке. Использование типового Python подхода с преобразованием списка в множество (set) не подойдет, так как множества не сохраняют порядок элементов.
Как же можно решить эту задачу на Python? Один из способов — использование так называемого словаря (dict), который появился в Python 3.7.
Словари в Python — это структура данных, которая хранит данные в виде пар «ключ-значение». Сохраняя элементы списка как ключи словаря, можно гарантировать, что все они будут уникальными, так как в словаре не может быть двух одинаковых ключей. Более того, начиная с версии Python 3.7, словари по умолчанию сохраняют порядок вставки элементов.
Вот как можно использовать этот подход для удаления дубликатов из списка, сохраняя порядок:
numbers = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5] numbers_unique = list(dict.fromkeys(numbers)) print(numbers_unique)
В результате выполнения этого кода получится список [1, 2, 3, 5, 6]
, в котором сохранен порядок чисел из исходного списка.
Итак, удаление дубликатов из списка в Python, сохраняя порядок, можно выполнить с помощью словаря. Этот подход является вполне «Pythonic», то есть соответствует стилю и идеологии языка Python.
На курсе Skypro «Веб-разработчик» освоите JavaScript, GitHub, Tilda, Postman, HTML, CSS и другие программы и инструменты, научитесь решать реальные задачи разработчика и работать в команде. Все учебные проекты можно положить в портфолио и устроиться на работу по новой специальности еще в процессе обучения.
Добавить комментарий