Использование функции len()
На предыдущем этапе вы научились определять размер множества с помощью функции len()
. На этом этапе мы рассмотрим более продвинутые способы использования функции len()
с множествами, в том числе ее применение в условных операторах и циклах.
Начнем с модификации нашего скрипта set_size.py
так, чтобы он включал условный оператор, проверяющий, является ли множество пустым. Откройте файл set_size.py
в редакторе VS Code и измените его следующим образом:
## Create a set of numbers
my_set = {1, 2, 3, 4, 5}
## Print the set
print(my_set)
## Get the size of the set using the len() function
set_size = len(my_set)
## Print the size of the set
print("The size of the set is:", set_size)
## Check if the set is empty
if set_size == 0:
print("The set is empty.")
else:
print("The set is not empty.")
Сохраните файл и запустите его:
python set_size.py
Вы должны увидеть следующий вывод:
{1, 2, 3, 4, 5}
The size of the set is: 5
The set is not empty.
Теперь изменим скрипт так, чтобы создать пустое множество и проверить его размер. Измените первую строку скрипта set_size.py
для создания пустого множества:
## Create an empty set
my_set = set()
## Print the set
print(my_set)
## Get the size of the set using the len() function
set_size = len(my_set)
## Print the size of the set
print("The size of the set is:", set_size)
## Check if the set is empty
if set_size == 0:
print("The set is empty.")
else:
print("The set is not empty.")
Сохраните файл и запустите его снова:
python set_size.py
На этот раз вы должны увидеть следующий вывод:
set()
The size of the set is: 0
The set is empty.
Как вы можете видеть, функция len()
возвращает 0 для пустого множества, и наш условный оператор правильно определяет, что множество пустое.
Теперь используем функцию len()
в цикле. Предположим, что мы хотим удалять элементы из множества до тех пор, пока оно не станет пустым. Измените скрипт set_size.py
следующим образом:
## Create a set of numbers
my_set = {1, 2, 3, 4, 5}
## Print the set
print(my_set)
## Remove elements from the set until it is empty
while len(my_set) > 0:
## Remove an arbitrary element from the set
element = my_set.pop()
print("Removed element:", element)
print("The set is now:", my_set)
print("The set is now empty.")
Сохраните файл и запустите его:
python set_size.py
Вы должны увидеть вывод, похожий на следующий (порядок удаленных элементов может отличаться):
{1, 2, 3, 4, 5}
Removed element: 1
The set is now: {2, 3, 4, 5}
Removed element: 2
The set is now: {3, 4, 5}
Removed element: 3
The set is now: {4, 5}
Removed element: 4
The set is now: {5}
Removed element: 5
The set is now: set()
The set is now empty.
В этом примере мы используем функцию len()
для проверки, является ли множество пустым на каждой итерации цикла while
. Метод pop()
удаляет произвольный элемент из множества. Цикл продолжается до тех пор, пока множество не станет пустым.