Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, содержит ли список только уникальные элементы на Python. Лабораторная работа сосредоточена на использовании множеств (sets) Python для определения и нахождения уникальных элементов в списке.
В рамках лабораторной работы вы пройдете пошаговое руководство по созданию Python-скрипта unique_elements.py, который демонстрирует, как работают множества. Вы создадите список с дублирующимися элементами, преобразуете его в множество, чтобы удалить дубликаты, а затем выведете на экран как исходный список, так и полученное множество уникальных элементов. Сравнивая исходный список с множеством, вы поймете, как можно использовать множества для определения и извлечения уникальных элементов.
Определение уникальных элементов
На этом этапе вы научитесь определять уникальные элементы с использованием множеств (sets) Python. Множества - это фундаментальная структура данных в Python, которая хранит только уникальные, неупорядоченные элементы. Это означает, что если вы попытаетесь добавить дублирующийся элемент в множество, он просто будет проигнорирован. Понимание множеств является важным для таких задач, как удаление дубликатов из списка или проверка наличия элемента в коллекции.
Начнем с создания Python-скрипта, который демонстрирует, как работают множества.
Откройте WebIDE. Слева вы должны увидеть проводник файлов, а справа - текстовый редактор.
В проводнике файлов перейдите в каталог проекта:
/home/labex/project.Создайте новый файл с именем
unique_elements.py, щелкнув правой кнопкой мыши в проводнике файлов и выбрав "Новый файл".Откройте файл
unique_elements.pyв редакторе и добавьте следующий код:
## Create a list with duplicate elements
my_list = [1, 2, 2, 3, 4, 4, 5]
## Convert the list to a set to remove duplicates
my_set = set(my_list)
## Print the original list and the set
print("Original List:", my_list)
print("Set of Unique Elements:", my_set)
В этом скрипте сначала создается список с именем my_list, который содержит дублирующиеся элементы. Затем этот список преобразуется в множество с именем my_set. Функция set() автоматически удаляет все дублирующиеся элементы, оставляя только уникальные значения. В конце скрипт выводит на экран как исходный список, так и множество уникальных элементов.
Сохраните файл
unique_elements.py.Теперь запустите скрипт, используя следующую команду в терминале:
python unique_elements.py
Вы должны увидеть следующий вывод:
Original List: [1, 2, 2, 3, 4, 4, 5]
Set of Unique Elements: {1, 2, 3, 4, 5}
Как вы можете видеть, множество my_set содержит только уникальные элементы из исходного списка my_list. Порядок элементов в множестве может отличаться от исходного списка, так как множества неупорядочены.
В этом примере показано базовое использование множеств для определения уникальных элементов в Python. В следующих шагах вы рассмотрите более продвинутые операции с множествами.
Сравнение len() и len(set())
На этом этапе вы научитесь использовать функцию len() для определения количества элементов в списке и сравнения его с количеством уникальных элементов в множестве, созданном из того же списка. Это полезный метод для определения количества дублирующихся элементов в списке.
Функция len() возвращает количество элементов в объекте. При применении к списку она возвращает общее количество элементов, включая дубликаты. При применении к множеству она возвращает количество уникальных элементов.
Давайте модифицируем Python-скрипт из предыдущего шага, чтобы сравнить длины исходного списка и множества уникальных элементов.
Откройте файл
unique_elements.pyв WebIDE, который вы создали на предыдущем этапе. Он должен находиться в/home/labex/project.Измените файл
unique_elements.py, добавив следующий код:
## Create a list with duplicate elements
my_list = [1, 2, 2, 3, 4, 4, 5]
## Convert the list to a set to remove duplicates
my_set = set(my_list)
## Print the length of the original list and the set
print("Length of Original List:", len(my_list))
print("Length of Set of Unique Elements:", len(my_set))
## Calculate the number of duplicate elements
num_duplicates = len(my_list) - len(my_set)
print("Number of Duplicate Elements:", num_duplicates)
В этом скрипте мы добавили код для вычисления и вывода на экран длин как исходного списка, так и множества уникальных элементов. Затем мы вычисляем количество дублирующихся элементов, вычитая длину множества из длины списка.
Сохраните файл
unique_elements.py.Запустите скрипт, используя следующую команду в терминале:
python unique_elements.py
Вы должны увидеть следующий вывод:
Length of Original List: 7
Length of Set of Unique Elements: 5
Number of Duplicate Elements: 2
Этот вывод показывает, что исходный список содержит 7 элементов, а множество уникальных элементов содержит 5 элементов. Разность между этими длинами (7 - 5 = 2) указывает, что в исходном списке есть 2 дублирующихся элемента.
В этом примере показано, как использовать функцию len() вместе с множествами для определения и подсчета дублирующихся элементов в списке.
Проверка с использованием преобразования в set()
На этом этапе вы научитесь проверять, содержит ли список только уникальные элементы, преобразуя его в множество и сравнивая длины. Это компактный и эффективный способ определить, есть ли в списке дублирующиеся элементы.
Основная идея заключается в том, что если список содержит дублирующиеся элементы, то при преобразовании его в множество количество элементов уменьшится, так как множества хранят только уникальные значения. Если длина исходного списка равна длине множества, созданного из него, то список содержит только уникальные элементы.
Давайте модифицируем Python - скрипт из предыдущих шагов, чтобы проверить, содержит ли список только уникальные элементы с использованием преобразования в множество.
Откройте файл
unique_elements.pyв WebIDE, который вы создали на предыдущих шагах. Он должен находиться в/home/labex/project.Измените файл
unique_elements.py, добавив следующий код:
## Create a list with or without duplicate elements
my_list = [1, 2, 3, 4, 5] ## Example with unique elements
## my_list = [1, 2, 2, 3, 4, 5] ## Example with duplicate elements
## Convert the list to a set
my_set = set(my_list)
## Check if the list contains only unique elements
if len(my_list) == len(my_set):
print("The list contains only unique elements.")
else:
print("The list contains duplicate elements.")
В этом скрипте мы сначала определяем список my_list. Вы можете выбрать использовать пример с уникальными элементами или пример с дублирующимися элементами, закомментировав/раскомментировав соответствующие строки. Затем мы преобразуем список в множество и сравниваем длины списка и множества. Если длины равны, мы выводим сообщение, указывающее, что список содержит только уникальные элементы; в противном случае мы выводим сообщение, указывающее, что список содержит дублирующиеся элементы.
Сохраните файл
unique_elements.py.Запустите скрипт, используя следующую команду в терминале:
python unique_elements.py
Если вы используете пример с уникальными элементами (my_list = [1, 2, 3, 4, 5]), вы должны увидеть следующий вывод:
The list contains only unique elements.
Если вы используете пример с дублирующимися элементами (my_list = [1, 2, 2, 3, 4, 5]), вы должны увидеть следующий вывод:
The list contains duplicate elements.
В этом примере показано, как использовать преобразование в множество для эффективной проверки, содержит ли список только уникальные элементы. Этот метод часто используется в задачах обработки и валидации данных.
Резюме
В этом практическом занятии (лабораторной работе) вы научились определять уникальные элементы с использованием множеств (sets) в Python. В рамках практики вы создали Python - скрипт с именем unique_elements.py, чтобы продемонстрировать, как работают множества. Вы создали список с дублирующимися элементами, а затем преобразовали его в множество с помощью функции set(), которая автоматически удаляет все дублирующиеся элементы, оставляя только уникальные значения.
Затем скрипт вывел на экран как исходный список, так и множество уникальных элементов, показывая, как множества можно использовать для извлечения уникальных значений из списка. Вы заметили, что порядок элементов в множестве может отличаться от порядка в исходном списке из - за неупорядоченного характера множеств.



