Иногда вам может потребоваться извлечь уникальные значения, содержащие повторяющиеся значения.

Содержание

С использованием цикла For

Цикл for позволяет перебирать повторяемые объекты. Таким образом, вы можете использовать цикл for для получения уникальных значений из списка, перебирая список.

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

Список приведен ниже.

candidates = ['Biden', 'Trump', 'Biden', 'Sanders', 'Trump']

Затем создайте отдельный список, содержащий уникальное значение (имя кандидата) из списка.

unique_candiate = [ ]

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

for name in candidates:
  if name not in unique_candidate:
    unique_candidate.append(name)
            
print(unique_candidate)

С использованием цикла For

Из вывода вы можете видеть, что список unique_candidates содержит уникальные имена.

Давайте разберемся с частью кода «для имени в кандидатах:». Эта строка перебирает каждое значение в списке и проверяет, существует ли это значение уже в «unique_candidate», используя «if name not in unique_candidate:».

Если это значение не существует, оно добавляет его в «unique_candidate», используя unique_candidate.append(name). В результате вы получаете уникальные значения из списка, такие как «[‘Байден», «Трамп», «Сандерс»]».

С использованием метода Set

Функция set() в Python возвращает заданные объекты. Свойства набора заключаются в том, что когда вы предоставляете список значений, содержащий повторяющиеся значения, метод set() включает только уникальные значения.

Здесь мы сначала предоставим список значений методу set(), а затем преобразуем его обратно в список с помощью конструктора Python list().

Например, возьмите тот же список «кандидатов» и передайте его методу set(), а затем снова передайте метод set() конструктору list(), как показано ниже.

candidates = ['Biden', 'Trump', 'Biden', 'Sanders', 'Trump']

unique_list_values = list(set(candidates))

print(unique_list_values)

С использованием метода Set

Эта строка кода «list(set(candidates))» сначала преобразует заданные значения списка в «Кандидаты» в объекты набора, исключая повторяющиеся значения списка с помощью «set(candidates)».

Затем преобразуйте эти объекты обратно в оригинал, передав их конструктору list(), например, «list(set(candidates))». Таким образом, вы получаете уникальные значения в списке с именем «unique_list_values».

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

List Comprehension — это способ создать новый список из существующего, запустив цикл for и некоторые условия в квадратных скобках [ ].

Давайте рассмотрим пример: мы получим уникальные значения из существующего списка и сохраним их в новом списке.

Например, у вас есть список штатов, которые вы хотите посетить, но названия некоторых штатов присутствуют в списке более одного раза, как показано ниже.

states = ['California', 'Texas', 'Nevada', 'California', 'Texas']

Создайте новый список, содержащий уникальное значение или время из списка.

unique_states = []

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

[unique_states.append(state) for state in states if state not in unique_states]
print(unique_states)

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

Посмотрите на приведенный выше вывод; метод определения списка возвращает уникальные значения из существующего списка с именем «states» в новом списке с именем «unique_states».

Давайте разберемся с частью кода: [unique_states.append(state) для состояния в состояниях, если состояние не в unique_states].

В квадратных скобках [ ] есть три части. ‘для состояния в состояниях:’ эта строка перебирает каждое значение в списке и проверяет, существует ли это значение уже в ‘unieuq_states’, используя ‘if name not in unique_states:’

Если это значение не существует, оно добавляет его в «unique_states», используя unique_states.append(state). В результате вы получаете уникальные значения из списка, например «[‘Калифорния», «Техас», «Невада»]».

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