Я знаю, о чем вы думаете — что это за набор?

Что ж, в программировании на Python набор — это:

"Абстрактный тип данных, в котором хранятся уникальные элементы без какого-либо порядка".

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

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

example_string = "Hello"
example_set = set()
for char in string:
    example_set.add(char)
print(example_set)
Result: set(['h', 'e', 'l', 'o'])

Обратите внимание, что выживает только один символ «l». Как только в набор добавляется уникальный символ, неуникальные копии игнорируются. Вот почему есть только одна буква «л».

Добавление элемента в набор

Добавить элемент в набор легко, и мы можем использовать функцию add(), как показано выше.

Эта функция принимает единственный ввод: добавить(элемент). Функция add() также не возвращает значение.

Удаление элемента в набор

Когда дело доходит до удаления элемента, у нас есть несколько вариантов. Удаление элемента можно выполнить с помощью discard() или remove().

Основное различие между этими двумя методами: при попытке избавиться от элемента из набора, как вы думаете, что происходит, когда элемент не может быть найден в наборе?

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

Способ 1: отбросить()

При использовании метода discard() для удаления заданного элемента ничего не возвращается. Если запрошенный элемент не существует в наборе, discard() также не вызывает ошибку.

example_string = "Hello"
example_set = set()
for char in string:
    example_set.add(char)
example_set.discard('h')
print(example_set)
example_set.discard('x')
print(example_set)
Result:
1. set(['e', 'l', 'o'])
2. set(['e', 'l', 'o'])

Способ 2: удалить()

Метод remove() — это встроенный метод Python, который удаляет элемент только в том случае, если он найден в наборе. В противном случае программа выдает ошибку.

example_string = "Hello"
example_set = set()
for char in string:
    example_set.add(char)
example_set.discard('h')
print(example_set)
example_set.discard('x')
print(example_set)
Result:
1. set(['e', 'l', 'o'])
2. KeyError: 'gaurav'

Помимо выдачи ошибки, когда элемент не может быть найден в наборе, методы discard() и remove() работают одинаково.

Давайте рассмотрим:

  1. Набор — это неупорядоченная коллекция данных, в которой каждый элемент данных уникален.
  2. Наборы изменчивы, что означает, что они могут быть изменены.
  3. Чтобы добавить элемент в набор, используйте set.add()
  4. Чтобы удалить элемент из набора, используйте set.discard() или set.remove(). Функция remove() вызывает ошибку, когда элемент не существует в наборе. Функция discard() не работает. В остальном методы те же.
  5. Python делает программирование увлекательным!

Ура!

Джастин Алви — профессиональный инженер-программист, написавший код для спутников. На момент написания этой статьи входил в состав 3 разных спутниковых групп и работал в НАСА. Он вырос в Детройте, где основал свою первую компанию по ландшафтному дизайну в 15 лет, когда учился в старшей школе.

После получения степени бакалавра наук в области аэрокосмической техники он в настоящее время получает степень магистра компьютерных наук в Интернете.

Джастину нравится хорошая погода, и он увлечен предпринимательством, программированием, космосом, технологиями и писательством.