Поиск по сайту:

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


В этой статье мы рассмотрим 3 способа получения уникальных значений из списка Python. Имея дело с огромным объемом необработанных данных, мы часто сталкиваемся с ситуациями, когда нам нужно извлечь уникальный и неповторяющийся набор данных из необработанного набора входных данных.

Перечисленные ниже методы помогут вам решить эту проблему. Давайте приступим прямо к делу!

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

Для получения уникальных значений из списка в Python можно использовать любой из следующих способов:

  • Метод Python set()
  • Использование метода Python list.append() вместе с циклом for
  • Использование метода Python numpy.unique()

1. Python Set() для получения уникальных значений из списка

Как видно из нашего предыдущего руководства по Python Set, мы знаем, что Set хранит в себе единственную копию повторяющихся значений. Это свойство набора можно использовать для получения уникальных значений из списка в Python.

  • Изначально нам потребуется преобразовать входной список в набор с помощью функции set().

Синтаксис:

set(input_list_name)

  • Поскольку список преобразуется в набор, в него помещается только одна копия всех повторяющихся элементов.
  • Затем нам нужно будет преобразовать набор обратно в список, используя приведенную ниже команду/инструкцию:

Синтаксис:

list(set-name)

  • Наконец, распечатайте новый список.

Пример:

list_inp = [100, 75, 100, 20, 75, 12, 75, 25] 

set_res = set(list_inp) 
print("The unique elements of the input list using set():\n") 
list_res = (list(set_res))
 
for item in list_res: 
    print(item) 

Выход:

The unique elements of the input list using set():

25
75
100
20
12

2. Python list.append() и цикл for

Чтобы найти уникальные элементы, мы можем применить функцию list.append() для достижения того же.

  • Сначала мы создаем новый (пустой) список, то есть res_list.
  • После этого с помощью цикла for мы проверяем наличие определенного элемента в новом созданном списке (res_list). Если элемент отсутствует, он добавляется в новый список с помощью метода append().

Синтаксис:

list.append(value)

  • В случае, если во время обхода мы сталкиваемся с элементом, который уже существует в новом списке, т. е. с повторяющимся элементом, в таком случае он игнорируется оператором if, чтобы проверить, является ли он уникальным элементом или повторяющимся.

Пример:

list_inp = [100, 75, 100, 20, 75, 12, 75, 25] 

res_list = []

for item in list_inp: 
    if item not in res_list: 
        res_list.append(item) 

print("Unique elements of the list using append():\n")    
for item in res_list: 
    print(item) 
      

Выход:

Unique elements of the list using append():

100
75
20
12
25

3. Функция Python numpy.unique() для создания списка с уникальными элементами

Модуль Python NumPy имеет встроенную функцию с именем numpy.unique для извлечения уникальных элементов данных из массива numpy.

  • Чтобы получить уникальные элементы из списка Python, нам потребуется преобразовать список в массив NumPy с помощью следующей команды:

Синтаксис:

numpy.array(list-name)

  • Далее мы воспользуемся методом numpy.unique() для извлечения уникальных элементов данных из массива numpy.
  • и, наконец, мы распечатаем полученный список.

Синтаксис:

numpy.unique(numpy-array-name)

Пример:

import numpy as N
list_inp = [100, 75, 100, 20, 75, 12, 75, 25] 

res = N.array(list_inp) 
unique_res = N.unique(res) 
print("Unique elements of the list using numpy.unique():\n")
print(unique_res)
      

Выход:

Unique elements of the list using numpy.unique():

[12  20  25  75 100]

Заключение

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

Рекомендации

  • Функция NumPy: numpy.unique() — документация по SciPy