Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Одной из распространенных задач при работе с данными в Python является получение уникальных значений из списка. Например, есть список, который содержит повторяющиеся элементы:
['яблоко', 'груша', 'банан', 'яблоко', 'груша', 'яблоко']
Цель — получить список, который содержит каждый элемент только один раз, т.е. убрать дубликаты:
['яблоко', 'груша', 'банан']
Рассмотрим подход, когда создается новый список и в него добавляются только те элементы, которых еще нет в этом списке:
fruits = ['яблоко', 'груша', 'банан', 'яблоко', 'груша', 'яблоко'] unique_fruits = [] for fruit in fruits: if fruit not in unique_fruits: unique_fruits.append(fruit) print(unique_fruits)
Этот подход работает, но не самый оптимальный. В Python есть встроенный тип данных set
, который по определению содержит только уникальные элементы. Использование set
позволяет сделать код более лаконичным и эффективным:
fruits = ['яблоко', 'груша', 'банан', 'яблоко', 'груша', 'яблоко'] unique_fruits = list(set(fruits)) print(unique_fruits)
Однако, стоит учесть, что set
не сохраняет порядок элементов. Если порядок элементов важен, можно использовать dict.fromkeys()
, который возвращает словарь, где ключи — это уникальные элементы списка. При этом сохраняется порядок добавления ключей:
fruits = ['яблоко', 'груша', 'банан', 'яблоко', 'груша', 'яблоко'] unique_fruits = list(dict.fromkeys(fruits)) print(unique_fruits)
Итак, были рассмотрены различные подходы к получению уникальных значений из списка в Python.
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Добавить комментарий