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