Математически набор — это набор предметов, не в каком-либо определенном порядке. Набор Python похож на это математическое определение с приведенными ниже дополнительными условиями.
- Элементы в наборе не могут быть дубликатами.
- Элементы в наборе являются неизменяемыми (не могут быть изменены), но набор в целом является изменяемым.
- Нет индекса, прикрепленного к любому элементу в наборе питонов. Таким образом, они не поддерживают операции индексирования или нарезки.
Операции над множествами
Наборы в python обычно используются для математических операций, таких как объединение, пересечение, различие, дополнение и т. Д. Мы можем создать набор, получить доступ к его элементам и выполнить эти математические операции, как показано ниже.
Создание набора
Набор создается с помощью функции set () или помещением всех элементов в пару фигурных скобок.
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]) Months={"Jan","Feb","Mar"} Dates={21,22,17} print(Days) print(Months) print(Dates)
Когда приведенный выше код выполняется, он дает следующий результат. Обратите внимание, как изменился порядок элементов в результате.
set(['Wed', 'Sun', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat']) set(['Jan', 'Mar', 'Feb']) set([17, 21, 22])
Доступ к значениям в наборе
Мы не можем получить доступ к отдельным значениям в наборе. Мы можем получить доступ ко всем элементам вместе, как показано выше. Но мы также можем получить список отдельных элементов, просматривая набор.
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]) for d in Days: print(d)
Когда приведенный выше код выполняется, он дает следующий результат.
Wed Sun Fri Tue Mon Thu Sat
Добавление предметов в набор
Мы можем добавить элементы в набор с помощью метода add (). Опять же, как обсуждалось, нет никакого специального индекса, присоединенного к вновь добавленному элементу.
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"]) Days.add("Sun") print(Days)
Когда приведенный выше код выполняется, он дает следующий результат.
set(['Wed', 'Sun', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])
Извлечение предмета из набора
Мы можем удалить элементы из набора с помощью метода discard (). Опять же, как обсуждалось, нет никакого специального индекса, присоединенного к вновь добавленному элементу.
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"]) Days.discard("Sun") print(Days)
Когда приведенный выше код выполняется, он дает следующий результат.
set(['Wed', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])
Союз Сетов
Операция объединения двух наборов создает новый набор, содержащий все отдельные элементы из обоих наборов. В приведенном ниже примере элемент «Wed» присутствует в обоих наборах.
DaysA = set(["Mon","Tue","Wed"]) DaysB = set(["Wed","Thu","Fri","Sat","Sun"]) AllDays = DaysA|DaysB print(AllDays)
Когда приведенный выше код выполняется, он дает следующий результат. Пожалуйста, обратите внимание, что результат имеет только один «брак».
set(['Wed', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])
Пересечение множеств
Операция пересечения двух наборов создает новый набор, содержащий только общие элементы из обоих наборов. В приведенном ниже примере элемент «Wed» присутствует в обоих наборах.
DaysA = set(["Mon","Tue","Wed"]) DaysB = set(["Wed","Thu","Fri","Sat","Sun"]) AllDays = DaysA & DaysB print(AllDays)
Когда приведенный выше код выполняется, он дает следующий результат. Пожалуйста, обратите внимание, что результат имеет только один «брак».
set(['Wed'])
Разница множеств
Разностная операция на двух наборах создает новый набор, содержащий только элементы из первого набора и ни одного из второго набора. В приведенном ниже примере элемент «Wed» присутствует в обоих наборах, поэтому он не будет найден в наборе результатов.
DaysA = set(["Mon","Tue","Wed"]) DaysB = set(["Wed","Thu","Fri","Sat","Sun"]) AllDays = DaysA - DaysB print(AllDays)
Когда приведенный выше код выполняется, он дает следующий результат. Пожалуйста, обратите внимание, что результат имеет только один «брак».
set(['Mon', 'Tue'])
Сравнить наборы
Мы можем проверить, является ли данный набор подмножеством или надмножеством другого набора. Результатом является True или False в зависимости от элементов, присутствующих в наборах.
DaysA = set(["Mon","Tue","Wed"]) DaysB = set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]) SubsetRes = DaysA <= DaysB SupersetRes = DaysB >= DaysA print(SubsetRes) print(SupersetRes)
Когда приведенный выше код выполняется, он дает следующий результат.