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

Python Set Update ()

Set python set.update (set_1, set_2, …) выполняет объединение всех включенных наборов и обновляет набор, на котором он называется. Он добавляет всех членов установленного аргумента (ы) на набор, на котором он называется. Например, S.Update ({1, 2}) добавляет элементы 1 и 2 к исходному набору s. https://youtu.be@zz52a3q2tgq Вот минимальный пример … Python Set Update () Подробнее »

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

Python’s set.update (set_1, set_2, ...) Выполняет союз всех связанных наборов и обновляет множество, на котором он называется. Он добавляет всех членов установленного аргумента (ы) на набор, на котором он называется. Например, S.Update ({1, 2}) Добавляет элементы 1 и 2 к оригинальному набору S Отказ

Вот минимальный пример, который создает союз двух наборов S и T и обновления набор S соответственно:

>>> s = {1, 2, 3, 4}
>>> t = {3, 4, 5}
>>> s.update(t)
>>> s
{1, 2, 3, 4, 5}

Синтаксис

Давайте погрузимся в формальный синтаксис set.update () метод.

set.update(*sets)
* Наборы Один или несколько наборов Элементы этих наборов будут объединены

Возвращаемое значение Установленного обновления ()

Возвращаемое значение set.update () это Нет Отказ Но метод имеет побочные эффекты. Он добавляет все элементы установленного аргумента или аргументов на множество, на котором он называется.

Усовершенствованные примеры Набор обновлений

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

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

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

Но что, если вы перевернуте это и рассчитаете союз подмножества и суперсета? В этом случае результат такой же, как и раньше:

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

Можете ли вы вычислить союз набора и пустой набор? Конечно! Возвращаемое значение является большим набором.

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

Установить обновление нескольких аргументов

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

Вот пример:

>>> s = {1, 2, 3, 4, 5, 6}
>>> s.union({0, 2}, {42, 3, 4}, {33, 3, 5})
>>> s
{0, 1, 2, 3, 4, 5, 6, 33, 42}

Все элементы являются членами оригинального набора S Отказ

Python Set Update VS Union

Оба set.update () и Set.union () выполнять профсоюзную работу. Тем не менее, set.update () Добавляет все недостающие элементы на набор, на котором он называется, тогда как Set.union () создает новый набор. Следовательно, возвращаемое значение set.update () это Нет (с побочными эффектами) и возвращаемое значение Set.union () это набор (без побочных эффектов).

Вот пример set.update () Метод:

>>> s = {1, 2, 3}
>>> s.update({4, 5})
>>> s
{1, 2, 3, 4, 5}

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

Вот пример Set.union () Метод:

>>> s = {1, 2, 3}
>>> s.union({4, 5})
{1, 2, 3, 4, 5}

Оба набора остаются без изменений. Тем не менее, новый набор был создан – и этот набор является возвращаемым значением операции!

Обновление Python Set VS Добавить

Оба set.update () и set.add () Изменить существующий набор, на котором называется метод. Тем не менее, set.update () Добавляет все элементы в таблицу, такую как набор, тогда как set.add () только добавляет один элемент.

Вот пример set.update () Метод:

>>> s = {1, 2, 3}
>>> s.update({4, 5})
>>> s
{1, 2, 3, 4, 5}

Оригинальный набор S модифицирован и теперь содержит пять элементов после обновления.

Вот пример set.add () Метод:

>>> s = {1, 2, 3}
>>> s.add(4)
>>> s
{1, 2, 3, 4}

Оригинальный набор S Модифицирован и теперь содержит четыре элемента после добавления одного элемента 4.

Что такое временная сложность установленного обновления в Python?

Сложность времени выполнения set.update () Метод такой же, как сложность выполнения оператора профсоюза. Если ваш набор аргумент имеет м Элементы, сложность это O (m) Потому что вам нужно вставить все м элементы в оригинальный набор.

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

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

import matplotlib.pyplot as plt
import time

sizes = [i * 10**5 for i in range(50)]
runtimes = []

for size in sizes:
    s = set(range(1, size, 2))
    t = set(range(0, size, 2))

    # Start track time ...
    t1 = time.time()
    s.update(t)
    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 Set

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

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

>>> s = {1, 2, 3}
>>> s.update(['Alice', 'Bob'])
>>> s
{1, 2, 3, 'Alice', 'Bob'}

Другие методы набора 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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.