Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
3210

Получение уникальных значений из списка в Python

Одной из распространенных задач при работе с данными в Python является получение уникальных значений из списка. Например, есть список, который содержит

Освойте 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-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

Добавить комментарий