Рубрики
Без рубрики

Python Set Clear ()

Метод Python’s Set.cear () Удаляет все элементы из этого набора. Все переменные, которые относятся к этому набору объекта, будут ссылаться на пустой набор после вызова метода. Вот минимальный пример, в котором вы удалите три элемента из множества сразу с помощью метода S.CLear (): >>> S = {1, 2, 3} >>> S.Clear () … Python Set Clean Clear ( ) Прочитайте больше “

Автор оригинала: Chris.

Python’s Set.Clear () Способ удаляет все элементы из этого набора. Все переменные, которые относятся к этому набору объекта, будут ссылаться на пустой набор после вызова метода.

Вот минимальный пример, где вы удаляете три элемента из набора сразу с помощью S.CLEAR () Метод:

>>> s = {1, 2, 3}
>>> s.clear()
>>> s
set()

Синтаксис

Давайте «погрузимся» в формальный синтаксис Set.Clear () Метод – простое упражнение! 🙂.

set.clear()

Set.Clear () Функция не требует аргументов, даже не является необязательным. Если вы попытаетесь пройти аргумент в Set.Clear () Функция, это бросит TypeError: Clear () не принимает аргументов (1 дано) Отказ

>>> s = {1, 2, 3}
>>> s.clear(2)
Traceback (most recent call last):
  File "", line 1, in 
    s.clear(2)
TypeError: clear() takes no arguments (1 given)

Возвращаемое значение набора Clear ()

Возвращаемое значение Set.Clear () это Нет Отказ

Проблема сглаживания с установленным Clear ()

Вы можете столкнуться с проблемой, где две переменные var_1 и var_2 указать на тот же набор. Если вы очистите набор на одной переменной, например, var_1.clear () , вы увидите влияние на вторую переменную, например, var_2 это также становится пустым. Держите это в виду!

>>> var_1 = {'Alice', 'Bob', 'Liz'}
>>> var_2 = var_1
>>> var_1.clear()
>>> var_1
set()
>>> var_2
set()

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

Что такое временная сложность установленного ясного ()?

Сложность времени выполнения Set.Clear () Функция на комплекте с N Элементы это O (n) Отказ Итак, Python’s Set.Clear () Метод имеет Линейная сложность времени выполнения Отказ Причина в том, что она итализация по всем элементам в наборе и удаляет их одностороннее – более элементы, тем больше они требуют.

Вы можете увидеть это в следующем простом эксперименте, в котором мы запускаем метод SET несколько раз для увеличения числа заданных элементов.

Я провел этот эксперимент на моем Acer Aspire 5 ноутбука (Я знаю) с Intel Core I7 (8-й GEN) процессор и 16 ГБ памяти. Вот код эксперимента:

import matplotlib.pyplot as plt
import time

sizes = [10**3, 10**4, 10**5, 10**6, 10**7, 10**8]
runtimes = []

for size in sizes:
    s = set(range(size))

    # Start track time ...
    t1 = time.time()
    s.clear()
    t2 = time.time()
    # ... end track time
    
    runtimes.append(t2-t1)


plt.plot(sizes, runtimes)
plt.ylabel('Runtime (s)')
plt.xlabel('Set Size')

plt.show()

Другие методы набора Python

Все Установить методы называются данными Установить Отказ Например, если вы создали набор S = {1, 2, 3} Вы бы назвали S.CLEAR () Чтобы удалить все элементы набора. Мы используем термин “Этот набор” обратиться к множеству, на котором выполняется метод.

добавлять() Добавьте элемент на этот набор
Очистить() Удалите все элементы из этого набора
Копировать () Создать и вернуть плоскую копию этого набора
разница() Создайте и верните новый набор, содержащий все элементы этого набора, кроме те, которые в данных аргументах. Полученный набор имеет максимум максимально возможным элементам, как и любой другой.
Разница_update () Удалите все элементы из этого набора, которые являются членами любого из заданных аргументов.
отказаться() Удалите элемент из этого набора, если он является членом, иначе ничего не сделайте.
Пересечение () Создайте и верните новый набор, который содержит все элементы, которые являются членами всех наборов: это также указано. Отказ
Intersection_Update () Удаляет все элементы из этого набора, которые не являются членами во всех других указанных наборах.
iSdisjoint () Верните true, если ни один элемент из этого набора не является членом любого другого указанного набора. Наборы пересекаются, если и только если их пересечение – это пустой набор.
issubset () Верните True, если все элементы этого набора являются членами указанного набора аргумента.
ОСУПЕРСЕТ () Верните true, если все элементы указанного набора аргумента являются членами этого набора.
поп () Удалить и вернуть случайный элемент из этого набора. Если набор пуст, он поднимет брелок.
Удалить() Удалите и верните определенный элемент из этого набора, как определено в аргументе. Если набор не содержит элемента, он поднимет keyError.
Symmetric_difference () Верните новый набор с элементами в этом наборе или указанном наборе аргумента, но не элементы, которые являются членами обоих.
Symmetric_difference_update () Замените этот набор с помощью симметричной разницы, то есть элементы в этом наборе или указанном наборе аргумента, но не элементы, которые являются членами обоих.
Союз () Создайте и верните новый набор со всеми элементами, которые находятся в этом наборе или в любом из указанных настроек аргументов.
Обновить() Обновите этот набор со всеми элементами, которые находятся в этом наборе, или в любом из указанных настроек аргументов. Полученный набор имеет по меньшей мере, как и любой другой элементы.

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.