Получить уникальные значения из списка в 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