Я знаю, о чем вы думаете — что это за набор?
Что ж, в программировании на 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() работают одинаково.
Давайте рассмотрим:
- Набор — это неупорядоченная коллекция данных, в которой каждый элемент данных уникален.
- Наборы изменчивы, что означает, что они могут быть изменены.
- Чтобы добавить элемент в набор, используйте set.add()
- Чтобы удалить элемент из набора, используйте set.discard() или set.remove(). Функция remove() вызывает ошибку, когда элемент не существует в наборе. Функция discard() не работает. В остальном методы те же.
- Python делает программирование увлекательным!
Ура!
Джастин Алви — профессиональный инженер-программист, написавший код для спутников. На момент написания этой статьи входил в состав 3 разных спутниковых групп и работал в НАСА. Он вырос в Детройте, где основал свою первую компанию по ландшафтному дизайну в 15 лет, когда учился в старшей школе.
После получения степени бакалавра наук в области аэрокосмической техники он в настоящее время получает степень магистра компьютерных наук в Интернете.
Джастину нравится хорошая погода, и он увлечен предпринимательством, программированием, космосом, технологиями и писательством.