Как проверить, содержит ли множество определенный элемент в Python

PythonPythonBeginner
Практиковаться сейчас

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

Введение

В этом лабораторном занятии вы научитесь проверять, содержит ли множество определенный элемент в Python. Это включает в себя понимание принадлежности элемента множеству и использование оператора in для определения, существует ли значение в множестве.

Вы создадите скрипт на Python для определения множества фруктов, а затем используете оператор in для проверки наличия определенных элементов, таких как "banana" (банан) и "grape" (виноград). При выполнении скрипта вы увидите, как оператор in возвращает True или False в зависимости от того, является ли элемент членом множества. Это лабораторное занятие предоставляет краткий и эффективный способ проверки принадлежности элемента множеству в Python.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/DataStructuresGroup -.-> python/sets("Sets") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/booleans -.-> lab-559558{{"Как проверить, содержит ли множество определенный элемент в Python"}} python/for_loops -.-> lab-559558{{"Как проверить, содержит ли множество определенный элемент в Python"}} python/sets -.-> lab-559558{{"Как проверить, содержит ли множество определенный элемент в Python"}} python/data_collections -.-> lab-559558{{"Как проверить, содержит ли множество определенный элемент в Python"}} end

Исследование принадлежности элемента множеству

На этом этапе вы научитесь проверять, является ли элемент членом множества в Python. Проверка принадлежности элемента множеству - это фундаментальная операция, которая позволяет определить, существует ли конкретное значение в множестве. Python предоставляет удобный способ выполнения такой проверки с использованием оператора in.

Сначала создадим скрипт на Python с именем membership.py в каталоге ~/project с помощью редактора VS Code.

## Create a set of fruits
fruits = {"apple", "banana", "cherry"}

## Check if "banana" is in the set
print("banana" in fruits)

## Check if "grape" is in the set
print("grape" in fruits)

В этом скрипте:

  • Мы определяем множество с именем fruits, содержащее три строковых элемента: "apple" (яблоко), "banana" (банан) и "cherry" (вишня).
  • Мы используем оператор in для проверки, является ли "banana" членом множества fruits. Выражение "banana" in fruits оценивается как True, так как "banana" действительно присутствует в множестве.
  • Аналогично, мы проверяем, является ли "grape" (виноград) членом множества fruits. Выражение "grape" in fruits оценивается как False, так как "grape" отсутствует в множестве.
  • Функция print() выводит булевы результаты этих проверок принадлежности.

Теперь выполните скрипт membership.py с помощью следующей команды в терминале:

python ~/project/membership.py

Вы должны увидеть следующий вывод:

True
False

Этот вывод подтверждает, что "banana" присутствует в множестве, в то время как "grape" - нет.

Оператор in предоставляет краткий и эффективный способ проверки принадлежности элемента множеству в Python. Это особенно полезно, когда вам нужно быстро определить, существует ли значение в коллекции уникальных элементов.

Использование оператора in

На предыдущем этапе вы изучили основы проверки принадлежности элемента множеству с использованием оператора in. Теперь давайте рассмотрим более продвинутые способы использования оператора in с множествами в Python.

Оператор in можно использовать не только для проверки наличия одного элемента, но и для перебора списка или кортежа и проверки принадлежности каждого элемента множеству. Это может быть полезно, когда у вас есть коллекция элементов и вы хотите быстро определить, какие из них присутствуют в множестве.

Создадим скрипт на Python с именем in_operator.py в каталоге ~/project с помощью редактора VS Code.

## Create a set of colors
colors = {"red", "green", "blue"}

## Create a list of items to check
items = ["red", "yellow", "blue", "black"]

## Iterate through the items and check for membership in the set
for item in items:
    if item in colors:
        print(f"{item} is in the set")
    else:
        print(f"{item} is not in the set")

В этом скрипте:

  • Мы определяем множество с именем colors, содержащее три строковых элемента: "red" (красный), "green" (зеленый) и "blue" (синий).
  • Мы создаем список с именем items, содержащий четыре строковых элемента: "red", "yellow" (желтый), "blue" и "black" (черный).
  • Мы используем цикл for для перебора каждого item (элемента) в списке items.
  • Внутри цикла мы используем оператор in для проверки, является ли текущий item членом множества colors.
  • Если item присутствует в множестве, мы выводим сообщение, указывающее, что он находится в множестве. В противном случае мы выводим сообщение, указывающее, что он отсутствует в множестве.

Теперь выполните скрипт in_operator.py с помощью следующей команды в терминале:

python ~/project/in_operator.py

Вы должны увидеть следующий вывод:

red is in the set
yellow is not in the set
blue is in the set
black is not in the set

Этот вывод показывает, какие элементы из списка items присутствуют в множестве colors.

В этом примере показано, как оператор in можно использовать в сочетании с циклами для эффективной проверки принадлежности нескольких элементов множеству. Эта техника ценна, когда вам нужно обработать коллекцию элементов и определить их присутствие в множестве.

Понимание уникальности множеств

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

Создадим скрипт на Python с именем uniqueness.py в каталоге ~/project с помощью редактора VS Code.

## Create a list with duplicate elements
numbers = [1, 2, 2, 3, 4, 4, 5]

## Convert the list to a set
unique_numbers = set(numbers)

## Print the set
print(unique_numbers)

## Check the length of the original list and the set
print(f"Original list length: {len(numbers)}")
print(f"Set length: {len(unique_numbers)}")

В этом скрипте:

  • Мы определяем список с именем numbers, содержащий несколько целочисленных элементов, включая дубликаты (например, 2 и 4 встречаются дважды).
  • Мы преобразуем список numbers в множество с помощью конструктора set(). Это автоматически удаляет все дубликаты значений, в результате чего получается множество, содержащее только уникальные элементы.
  • Мы выводим множество unique_numbers, чтобы увидеть уникальные элементы.
  • Мы выводим длину исходного списка numbers и множества unique_numbers, чтобы показать, как множество удаляет дубликаты.

Теперь выполните скрипт uniqueness.py с помощью следующей команды в терминале:

python ~/project/uniqueness.py

Вы должны увидеть следующий вывод:

{1, 2, 3, 4, 5}
Original list length: 7
Set length: 5

Этот вывод показывает, что множество unique_numbers содержит только уникальные элементы из исходного списка numbers, и длина множества меньше длины списка из-за удаления дубликатов.

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

Резюме

В этом практическом занятии (лабораторной работе) вы научились проверять наличие определенных элементов в множестве (set) Python. Основная концепция заключается в использовании оператора in для определения, является ли значение членом множества. Этот оператор возвращает True, если элемент найден, и False в противном случае.

Вы создали скрипт на Python, чтобы продемонстрировать это. В скрипте вы определили множество фруктов и затем использовали оператор in для проверки наличия "banana" (банан) и "grape" (виноград). Вывод скрипта подтвердил, что "banana" присутствовал в множестве, а "grape" - нет, что иллюстрирует базовую функциональность оператора in для проверки принадлежности элемента множеству.