Набор Python - это уникальный литерал для фильтрации отдельных значений в списке или массиве элементов. В отличие от списка, словаря или кортежа Python, он не принимает дубликаты. Так что это может быть ценным инструментом для очистки данных.

Но как создать набор и использовать его в Python? Мы объясним это в этом посте.

Особенности наборов Python

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

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

Как создать и использовать набор Python

Теперь, когда вы знаете основные функции набора Python. Давайте посмотрим, как вы можете использовать его в своей программе.

Вы используете фигурные скобки для создания набора в Python. Итак, набор - это список элементов в фигурных скобках, разделенных запятыми:

mySet = {1, 2, "MUO", "Google"}
печать (mySet)
Вывод: {1, 2, «MUO», «Google»}

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

myList = [1, 2, «MUO», «Google»]
mySet = набор (myList)
печать (mySet)
Вывод: {1, 2, «MUO», «Google»}

Конечно, вы можете проверить тип данных mySet:

myList = [1, 2, «MUO», «Google»]
mySet = набор (myList)
печать (тип (mySet))
Выход:

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

Приведенный ниже код удаляет дубликаты в списке и представляет результат в виде набора Python:

myList = [1, 2, 2 «MUO», «MUO», «Google», «Google»]
mySet = набор (myList)
печать (mySet)
Вывод: {1, 2, 'MUO', 'Google'}

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

mySet = {1, 2, 2, «MUO», «MUO», «Google», «Google»}
печать (len (mySet))
Выход: 4

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

Для этого конвертируем словарь в набор:

myDiction = {
«Манго»: 2, «Апельсин»: 2, «морковь»: 2, «MUO»: «технический»,
"MUO": "Интернет", "Google": "поиск", "Google": "двигатель"
}
uniqueSet = набор (myDiction)
print ("Это уникальные ключи: {}". format (uniqueSet))
Вывод: это уникальные ключи: {'Google', 'Mango', 'MUO', 'Orange', 'carrot'}.

Приведенное выше преобразование автоматически удаляет повторяющиеся элементы из массива.

Вы можете изменить приведенный выше код используя цикл for чтобы было понятнее:

для уникальных посетителей в uniqueSet:
печать (уникальные)

Вы также можете соединить два набора с помощью союз () метод:

setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union (setB)
печать (новый набор)
Выход: {1, 3, 4, 5, 6}

Однако приведенный выше код объединяет два набора и удаляет повторяющиеся значения.

Как вариант, можно использовать трубу | функция для объединения наборов в Python:

setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA | setB
печать (новый набор)
Выход: {1, 3, 4, 5, 6}

Вы также можете найти разницу между двумя наборами в Python:

setA = {1, 3, 5}
setB = {2, 4, 5,}
печать (setA.difference (setB))
Выход: {1, 3}

Вы можете найти симметричную разницу между наборами A и B. Этот метод возвращает элементы в любом наборе, но исключает их пересечения. Посмотрим, как это работает:

setA = {1, 3, 5}
setB = {2, 4, 5,}
печать (setA ^ setB)
Выход: {1, 2, 3, 4}

В качестве альтернативы вы можете использовать simric_difference () метод:

setA = {1, 3, 5}
setB = {2, 4, 5,}
печать (setA.symmetric_difference (setB))
Выход: {1, 2, 3, 4}

Давайте также посмотрим, как вы можете найти пересечение множеств ниже:

setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
печать (новый набор)
Вывод: {1}

Пока ты можешь добавить в список в Python, вы не можете сделать то же самое для набора Python. Однако вы можете добавить элемент в конец набора, используя Добавить функция.

Но питон Добавить функция принимает один аргумент, поэтому вы можете добавить в набор только кортеж. Это возвращает вложенный набор:

setA = {1, 3, 5} setC = {1, 3}
newSet = 1, 6
setC.add (новый набор)
печать (setC)
Выход: {1, (1, 6), 3}

Набор Python использует isdisjoint () чтобы проверить, не пересекаются ли два набора. Затем он возвращает логическое значение:

setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
print ("Это {}, что setA не пересекается с B" .format (findDisjoint))
Вывод: Ложно, что setA не пересекается с B

Чтобы проверить, является ли набор подмножеством другого, замените isdisjoint () с issubset ():

findSubset = setA.issubset (setB)

Вы можете удалить элемент из набора:

setA = {1, 3, 5}
setA.remove (5)
печать (setA)
Выход: {1, 3}

В Чисто() Метод очищает элементы в наборе и возвращает пустой набор:

setA = {1, 3, 5}
setA.clear ()
печать (setA)
Выход: set ()

Вы можете удалить произвольный элемент из набора и вернуть его значение с помощью set.pop () метод:

setA = {1, 3, 5}
печать (setA.pop ())

Вы также можете обновить набор Python с помощью метода update ():

setA = {1, 'b'}
setB = {2, 4, 5,}
печать (setA.update (setB))
печать (setA)
Выход: {1, 2, 4, 5, 'b'}

Поиграйте с наборами Python

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

Помимо набора, другие типы данных или массивы Python имеют множество применений и различных приложений. Попробуйте поиграть с ними, чтобы лучше их понять.

Электронное письмо
Как массивы и списки работают в Python

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

Читать далее

Похожие темы
  • Программирование
  • Python
Об авторе
Идову Омисола (Опубликовано 60 статей)

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

Ещё от Idowu Omisola

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Пожалуйста, подтвердите свой адрес электронной почты в письме, которое мы вам только что отправили.

.