Что такое наборы в Python и как их использовать?



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

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

Что установлено в Python?
Когда использовать наборы в Python?
Как создать набор?
Установить операции





Что такое замороженные наборы?

Давайте начнем. :-)



Что установлено в Python?

Набор - это в основном тип данных, состоящий из набора неупорядоченных элементов. Эти элементы могут относиться к любым типам данных как наборы, в отличие от ,не зависят от типа. Наборы являются изменяемыми (изменяемыми) и не имеют повторяющихся копий элементов. Значения множества are неиндексирован, поэтому indexing операции не могут выполняться на наборах.

Пример:

My_Set = {1, 's', 7.8} печать (My_Set)

Вывод: {‘S’, 1, 7.8}



Вывод показывает все присутствующие элементы My_Set.

Заметка: Набор в целом является изменяемым, но элементы набора - нет.

Теперь, когда вы знаете, что такое наборы в Python, давайте двигаться дальше и понимать, когда использовать наборы.

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

Наборы в Python используются, когда-

  • Порядок данных не имеет значения
  • Вам не нужны повторения в элементах данных
  • Вам необходимо выполнять математические операции, такие как объединение, пересечение и т. Д.

Теперь давайте продвинемся вперед и посмотрим, как создавать наборы в Python.

Как создать набор на Python?

Наборы в Python могут быть созданы двумя способами:

  • заключение элементов в фигурные скобки
  • с помощью функции set ()

1. С помощью фигурных скобок:

Наборы в Python создаются с помощью фигурных скобок ({}).

 Пример: 
My_Set = {1, 's', 7.8} печать (My_Set)

Вывод: {‘S’, 1, 7.8}

Как видите, My_Set создан.

2. Использование функции set ()

Наборы в Python можно создавать с помощью функции set ().

Пример:

a = set ({1, 'b', 6.9}) print (a)

Вывод: {1, 'б', 6.9}

Вы также можете создать пустой набор, используя ту же функцию.

Пример:

Empty_Set = set () печать (Empty_Set)

Вывод: набор()

Приведенный выше вывод показывает, что был создан пустой набор с именем Empty_Set.

Вы можете добавлять элементы в этот пустой набор. Я расскажу об этом в следующих темах.

Установить операции

С наборами можно выполнять ряд операций, таких как добавление элементов, удаление элементов, определение длины набора и т. Д. Чтобы узнать, какие все методы можно использовать для наборов, вы можете использовать тебе() функция.

Пример:

My_Set = {1, 's', 7.8} каталог (My_Set)

Вывод:

['__and __', '__ class __', '__ contains __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribute__', '__gt__', '__gt__', '__gt__', '__gt__', __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__ ',' __newor__ ',' __newor__ ', , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__str__', '__sub__', '__str__sub__ __xor__ ',' add ',' clear ',' copy ',' difference ',' difference_update ',' discard ',' пересечение ',' crossction_update ',' isdisjoint ',' issubset ',' issueperset ',' pop ' , 'удалить', 'симметричное_различие', 'симметричное_различие_обновление', 'объединение', 'обновить']

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

Определение длины набора

Чтобы узнать длину набора в Python, вы можете использовать функцию len (). Эта функция принимает имя набора в качестве параметра и возвращает целочисленное значение, равное количеству элементов, присутствующих в наборе.

Пример:

My_Set = {1, 's', 7.8} len (My_Set)

Вывод: 3

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

Доступ к элементам набора

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

Пример:

My_Set = {1, 's', 7.8} для x в My_Set: print (x)

Вывод:

с 1 7,8

Как вы можете видеть на выходе, порядок отличается от порядка элементов, поставляемых в набор. Это потому, что элементы не упорядочены.

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

Элементы могут быть добавлены в набор с помощью двух функций: Добавить() и Обновить() функция.

Функция add () добавляет один элемент к существующему набору, как показано ниже:

Пример:

My_Set = {1, 's', 7.8} My_Set.add (3) My_Set

Вывод: {1, 3, 7.8, ‘s’}

Функция update () используется, когда вы хотите добавить более одного элемента в существующий набор.

Пример:

My_Set = {1, 's', 7.8} My_Set.update ([2,4.6,1, 'r']) My_Set

Вывод: {1, 2, 4.6, 7.8, «r», «s»}

Как видно из вышеприведенного вывода, функция update () принимает список из 4 значений, и все значения, кроме 1, добавляются в My_Set. Это связано с тем, что 1 уже присутствует в наборе, и поэтому его нельзя добавить снова.

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

Чтобы удалить элементы из набора, вы можете использовать либо удалять(), сбросить () и поп () функции.

Функция remove () принимает один параметр, который является элементом, который нужно удалить из набора.

Пример:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.remove (2) print (My_Set)

Вывод: {1, 4.6, 7.8, 'r', 's'}

Как видите, 2 было удалено из набора с помощью функции remove (). Если вы укажете в качестве параметра функции remove () какой-либо элемент, которого нет в наборе, он выдаст ошибку.

Теперь, если вы хотите удалить какой-либо элемент из набора, и если вы не уверены, присутствует ли этот элемент в наборе или нет, вы можете использовать функцию discard (). Эта функция примет удаляемый элемент из набора в качестве параметра, но в случае, если элемент отсутствует, она не выдает ошибку.

Пример:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.discard (4.6) My_Set.discard ('i') печать (My_Set)

Вывод: {1, 2, 7.8, ‘r’, ‘s’}

Приведенный выше вывод показывает, что 4.6 был удален из My_Set, но discard () не вызывал ошибку, когда я использовал My_Set.discard («i»), даже если «i» отсутствует в моем наборе.

как выйти из Java-программы

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

Пример:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.pop () print (My_Set)

Вывод: {2, 4.6, 7.8, «r», «s»}

Выходные данные показывают, что с помощью pop () был удален какой-то случайный элемент, который в данном случае равен 1.

Теперь, если вы хотите удалить все элементы, присутствующие в наборе, вы можете использовать Чисто() метод.

Пример:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.clear () печать (My_Set)

Вывод: набор()

Как видно из вышеприведенного вывода, My_Set - пустой набор.

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

Пример:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} del My_Set печать (My_Set)

Когда вы запустите приведенный выше код, он выдаст ошибку, потому что My_Set удален.

Вы также можете выполнять различные математические операции с множеством, такие как объединение, пересечение, разность и т.д., которые обсуждаются ниже.

Союз множеств

Объединение наборов относится к объединению двух или более наборов в один набор путем добавления всех уникальных элементов, присутствующих в обоих наборах. Это можно сделать двумя способами:

  • Использование конвейера
  • Использование функции union ()

Использование символа трубопровода:

Два набора могут быть объединены с помощью | символ следующим образом:

Пример:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b print (a | b)

Вывод: {1, 2, 4.6, 5, 7.8, «r», «abc», «s», «d»}

Как вы можете видеть, в приведенном выше выводе объединение набора a и набора b сохраняется в новом наборе c. Вы также можете объединить более двух наборов, используя | символ.

Пример:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | c печать (d)

Вывод:

{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}

Используя метод union ():

Чтобы объединить два или более наборов, вы можете использовать метод union () следующим образом:

Пример:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {'m', 23,76,4.7} print (' Set a U b = ', a.union (b)) print (' Установить U b U c = ', a.union (b, c))

Вывод:

Установите U b = {1, 2, 4.6, 5, 7.8, 'r', 'abc', 's', 'd'}

Установите U b U c = {1, 2, 4.6, 5, 4.7, 7.8, ‘r’, 76, 23, ‘abc’, ‘m’, ‘s’, ‘d’}.

Приведенный выше вывод показывает, что d является объединением наборов a, b и c.

Пересечение множеств

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

Это можно сделать двумя способами:

  • Использование символа «&»
  • Использование функции crossction ()

Использование символа «&»:

Вы можете определить пересечение двух или более множеств с помощью символа «&» следующим образом:

Пример:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} print (a & b) печать (a & b & c)

Вывод:

{2, 5} {2}

Приведенный выше результат показывает объединение наборов a, b и c.

Использование функции crossction ():

Вы можете определить пересечение двух или более множеств с помощью функции correction () следующим образом:

Пример:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Установить перекресток b = ', a.intersection (b)) print (' Установить перекресток b перекресток c = ', a.intersection (b, c))

Вывод:

данные экземпляра для класса Java

Установите пересечение b = {2, 5}

Установить перекресток b перекресток c = {2}

Приведенный выше результат показывает пересечение наборов a, b и c.

Разница наборов:

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

Это можно сделать двумя способами:

  • Использование символа '-'
  • Использование функции difference ()

Использование символа «-»:

Чтобы найти разницу между двумя наборами с помощью символа «-», вы можете сделать следующее:

Пример:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print (a-b-c)

Вывод: {1, 4.6, 7.8, 'r', 's'}

Вывод состоит из всех элементов набора «a», кроме тех, что присутствуют в «b» и «c».

Используя функцию difference ():

Разницу наборов можно определить с помощью встроенной функции difference () следующим образом:

Пример:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Установить - b = ', a.difference (b)) print (' Установить a - b - c = ', a.difference (b, c))

Вывод:

Установите a - b = {1, 4.6, 7.8, ‘r’, ‘s’}.

Установите a - b - c = {1, 4.6, 7.8, ‘r’, ‘s’}.

Приведенный выше вывод является результатом разницы с использованием функции difference ().

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

Что такое замороженный набор?

Замороженный набор в Python - это набор, значения которого нельзя изменить. Это означает, что он неизменен, в отличие от обычного набора, который я обсуждал ранее. Замороженные наборы служат ключом в словарных парах 'ключ-значение'.

Как создавать замороженные наборы?

Замороженные наборы можно получить с помощью метода frozenset (). Эта функция принимает любые повторяющиеся элементы и преобразует их в неизменяемые.

Пример:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = frozenset (a) print (b)

Вывод: frozenset ({1, 2, 4.6, 5, 7.8, ‘r’, ‘s’})

Приведенный выше вывод состоит из набора b, который является замороженной версией набора a.

Доступ к элементам замороженного набора

Доступ к элементам замороженного набора можно получить, пройдя через него следующим образом:

Пример:

b = frozenset ([1, 2, 4.6, 5, 7.8, 'r', 's']) для x в b: print (x)

Вывод:

один
2
4.6
5
7,8
s

Приведенный выше вывод показывает, что при использовании цикла for все элементы замороженного набора b были возвращены один за другим. Замороженные наборы неизменяемы, поэтому вы не можете выполнять такие операции, как add (), remove (), update () и т. Д. Надеюсь, вы понимаете все, что было поделено с вами в этом руководстве. На этом мы подошли к концу нашей статьи о множествах в Python. Убедитесь, что вы тренируетесь как можно больше и верните свой опыт.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога «Наборы в Python», и мы свяжемся с вами как можно скорее.

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