В этой статье мы сосредоточимся на полном обзоре структуры данных набора Python.
Оглавление
- Что такое набор Python
- Как создать набор Python
- Как добавить элементы в набор Python
- Как удалить элементы из набора Python
- Как перебрать набор Python
- Заключение
Что такое набор Python
Набор Python — это структура данных для хранения неупорядоченной коллекции уникальных элементов. Набор сам по себе является изменяемым, но состоит из элементов неизменяемых типов данных (таких как целое число, число с плавающей запятой, логическое значение, строка, кортеж и другие). Набор не может состоять из элементов изменяемых типов данных (таких как список, словарь и др.).
Как создать набор Python
Пустой набор
Чтобы инициализировать пустой набор в Python, мы можем просто запустить приведенный ниже код и распечатать его содержимое:
Вы должны получить:
set()
Набор с целочисленными элементами
Когда мы хотим создать набор с элементами, мы можем создать последовательность элементов, разделенных запятыми, в фигурных скобках:
Вы должны получить:
{1, 2, 3, 4, 5}
Комплект со строковыми элементами
Другим примером может быть набор элементов строкового типа данных:
Вы должны получить:
{'Car', 'Apple', 'Hello'}
Набор с логическими элементами
При работе с элементами логического типа данных здесь важно свойство уникальных элементов в наборе. Допустим, у нас есть некоторые элементы, которые мы хотим сохранить, и это 5 элементов True/False. Обратите внимание, что среди элементов есть только два уникальных: True и False. Если мы сохраним эти элементы в наборе, он будет автоматически дедуплицирован:
Вы должны получить:
{False, True}
Обратите внимание, как повторяющиеся элементы были исключены из набора.
Набор с элементами смешанного типа
Другой вариант состоит в том, чтобы набор состоял из различных элементов неизменяемых типов данных. Например, это может быть строка, целое число, логическое значение и число с плавающей запятой:
Вы должны получить:
{True, 2, 3.01, 'Hello'}
Обратите внимание, что набор неупорядочен на основе значений элементов. Что мне показалось интересным, так это то, что он упорядочен на основе первого символа имени типа данных. Посмотрите на этот порядок: { bolean, integer, float, s tring}, который имеет алфавитный узор.
Как добавить элементы в набор Python
В этом разделе мы обсудим способы добавления элементов в набор Python.
Для этого раздела давайте поработаем с набором Python, созданным ниже:
Добавить один элемент
Допустим, мы хотим добавить еще одно целое число (8) к набору выше. Нам нужно будет использовать метод .add() набора Python и передать в него новый элемент:
И вы должны получить:
{8, 1, 5, 6}
Примечание: вы можете добавлять только те элементы, которых еще нет в наборе. Если вы попытаетесь добавить уже существующий элемент, например целое число 5, вы просто получите тот же набор обратно, так как элемент уже существует в нем.
Добавить несколько элементов
Теперь давайте рассмотрим пример, когда мы хотим добавить несколько новых элементов в набор выше, например, целые числа 3 и 9.
Будет ли работать тот же синтаксис? Ну не совсем. Нам нужно будет использовать метод .update() набора Python и передать в него новые элементы в виде набора или списка.
Способ 1:
Метод 2:
Оба метода будут давать одинаковый результат:
{1, 3, 5, 6, 8, 9}
Как удалить элементы из набора Python
В этом разделе мы обсудим способы удаления элементов из набора Python.
Во-первых, давайте создадим набор, с которым мы будем работать:
Удалить один элемент
Допустим, мы хотим удалить один из элементов этого набора, например целое число 8. Мы можем легко сделать это с помощью методов .discard() или .remove(). из набора Python.
Теперь в чем разница между ними?
Метод .remove() удаляет элемент из набора, если этот элемент присутствует в наборе, а если нет, то вызывает ошибку (KeyError).
С другой стороны, метод .discard() делает то же самое, но не вызывает ошибку и оставляет набор без изменений.
Способ 1:
Метод 2:
Оба метода в нашем случае будут давать одинаковый результат:
{1, 3, 5, 6, 9}
Удалить несколько элементов
Если мы хотим удалить несколько элементов, скажем, целые числа 3 и 5, мы можем использовать аналогичный синтаксис. Единственная проблема заключается в том, что методы .remove() и .discard() набора Python принимают только один аргумент за вызов.
Если мы создадим список элементов для удаления и пройдемся по нему, удаляя их один за другим из набора, оба метода будут работать.
Способ 1:
Метод 2:
Оба метода в нашем случае будут давать одинаковый результат:
{1, 6, 9}
Удалить все элементы
Если мы хотим удалить все элементы из любого набора Python и получить пустой набор, мы можем просто вызвать метод .clear(), который удалит все элементы:
И вы должны получить пустой набор:
set()
Как перебрать набор Python
В этом разделе мы обсудим, как перебирать набор Python.
Для начала давайте создадим примерный набор, который мы будем использовать:
В отличие от списков и словарей, вариантов перебора набора Python не так много. И главный из них — просто использовать цикл for:
И вы должны получить:
1 3 5 6 8 9
Заключение
Эта статья представляет собой вводное пошаговое руководство по набору Python и его методам, которые важно изучить, поскольку они используются во многих областях программирования и в машинном обучении.
Не стесняйтесь оставлять комментарии ниже, если у вас есть какие-либо вопросы или предложения по некоторым изменениям.
Первоначально опубликовано на https://pyshark.com 6 декабря 2021 г.