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

Список в Python — это ряд элементов, помещенных в [], которые могут иметь или не иметь одинаковые типы данных. Он также может содержать дубликаты. В этой статье мы увидим, как извлекать из списка только уникальные значения.

С помощью метода append()

В этом подходе мы сначала создадим новый пустой список, а затем продолжим добавлять элементы в этот новый список, только если он еще не присутствует в нем. Цикл for используется вместе с условием not in. Он проверяет наличие входящего элемента и добавляет его только в том случае, если его еще нет.

def get_unique(in_list):
   # объявление пустого списка
   unq_list = []

   # Итерация по списку
   for x in in_list:
      # если значения x нету в unq_list то добавляем 
      if x not in unq_list:
         unq_list.append(x)
   # вывод списка
   for x in unq_list:
      print(x)

my_list = ['Python', 'C++', 'C#', 'Java', "Java", 'C++']
print("Уникальным значениями в списке {0} являются".format(my_list))
get_unique(my_list)

Множества Set

Множество Set в Python содержат только уникальные значения. В этом подходе мы преобразуем список в набор, а затем преобразуем набор обратно в список, содержащий все уникальные элементы.


my_list = ['Python', 'C++', 'C#', 'Java', "Java", 'C++']

my_set = set(my_list)
New_List=list(my_set)

print("Уникальным значениями в списке {0} являются".format(my_list))

for i in New_List:
  print(i)

Использование numpy

В библиотеке numpy есть функция с именем unique, которая выполняет прямую работу, беря список в качестве входных данных и предоставляя уникальные элементы в виде нового списка.

Для работы с библиотекой ее необходимо установить:


pip install numpy

Пример

import numpy as np

my_list = ['Python', 'C++', 'C#', 'Java', "Java", 'C++']
print("Уникальным значениями в списке {0} являются".format(my_list))
for i in np.unique(my_list):
    print(i)

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

Источник