Способы получения уникальных значений из списка в 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, разными способами, в зависимости от условий.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.