Множества в Python.

Множество — это «мешок», содержащий неупорядоченные уникальные значения. Одно множество может содержать значения любых типов. Если у вас есть два множества, вы можете совершать над ними любые стандартные операции, например, объединение, пересечение и разность.

СОЗДАНИЕ МНОЖЕСТВА

a_set = {1}    # создание множества с одним значением
print(a_set)
input()

# выведет: {1}

a_set = {1}
print(type(a_set)) # создание множества реализующиеся как классы
input()

# выведет: 

a_set = {1, 2}   # создание множества с несколькими значениями
print(a_set)
input()

# выведет: {1, 2}

ИЗМЕНЕНИЕ МНОЖЕСТВА

Есть два способа добавить элементы в существующее множество: метод add() и метод update().

# метод add()
a_set = {1, 2}
a_set.add(4)      #(1)
print(a_set)
input() 

# выведет: {1, 2, 4}

a_set = {1, 2}
a_set.add(4) 
print(len(a_set)) #(2)
input() 

# выведет: 3

a_set = {1, 2}
a_set.add(4) 
a_set.add(1)     #(3)
print(a_set)
input()

# выведет: {1, 2, 4}

a_set = {1, 2}
a_set.add(4) 
a_set.add(1)     
print(len(a_set)) #(4)
input()

# выведет: 3
  1. Метод add() принимает один аргумент, который может быть любого типа, и добавляет данное значение в множество.
  2. Теперь множество содержит 3 элемента.
  3. Множества — мешки уникальных значений. Если попытаться добавить значение, которое уже присутствует в множестве, ничего не произойдет. Это не приведет в возникновению ошибки; просто нулевое действие.
  4. Это множество все ещё состоит из 3 элементов.
# метод update()
a_set = {1, 2, 3}
print(a_set)
input()

# выведет: {1, 2, 3}

a_set.update({2, 4, 6})               #(1)
print(a_set)   
input()                               #(2)

# выведет: {1, 2, 3, 4, 6}

a_set.update({3, 6, 9}, {1, 2, 3, 5, 8, 13})  #(3)
print(a_set)
input()

# выведет: {1, 2, 3, 4, 5, 6, 8, 9, 13}

a_set.update([10, 20, 30])                    #(4)
print(a_set)
input()

# выведет: {1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 20, 30}
  1. Метод update() принимает один аргумент — множество, и добавляет все его элементы к исходному множеству.
  2. Повторяющиеся значения игнорируются, поскольку множество не может содержать дубликаты.
  3. Можно вызвать метод update() с любым количеством параметров. Когда он вызывается с двумя множествами, метод update() добавляет все элементы обоих множеств в исходное множество (пропуская повторяющиеся).
  4. Метод update() может принимать объекты различных типов, включая списки. Когда ему передается список, он добавляет все его элементы в исходное множество.

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

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

Поэтому перед удалением следует проверять на наличие элемента с помощью оператора in:

users = {"Tom", "Bob", "Alice"}
 
user = "Tom"
if user in users: 
    users.remove(user)
print(users) 
input()

# выведет: {'Alice', 'Bob'}

Перебор множества

Для перебора элементов можно использовать цикл for.

users = {"Tom","Bob","Alice"}
 
for user in users:
    print(user)
input()

# выведет:
Alice
Tom
Bob

# При переборе каждый элемент помещается в переменную user.

Операции с множествами

С помощью метода copy() можно скопировать содержимое одного множества в другую переменную:

users = {"Tom","Bob","Alice"}
users3 = users.copy()

Метод union() объединяет два множества и возвращает новое множество:

users = {"Tom","Bob","Alice"}
users2 = {"Sam","Kate", "Bob"}
 
users3 = users.union(users2)
print(users3)   
input()

# выведет: {"Bob", "Alice", "Sam", "Kate", "Tom"}

Метод intersection() производит операцию пересечения множеств и возвращает новое множество:

users = {"Tom","Bob","Alice"}
users2 = {"Sam","Kate", "Bob"}
 
users3 = users.intersection(users2)
print(users3)  
input()

# выведет: {"Bob"}

Еще одна операция – разность множеств возвращает те элементы, которые есть в первом множестве, но отсутствуют во втором. Для получения разности множеств можно использовать метод difference или операцию вычитания:

users = {"Tom","Bob","Alice"}
users2 = {"Sam","Kate", "Bob"}
 
users3 = users.difference(users2)
print(users3)           # {"Tom", "Alice"}
print(users - users2)   # {"Tom", "Alice"}
input()

frozen set

Тип frozen set является видом множеств, которое не может быть изменено. Для его создания используется функция frozenset:

users = frozenset({"Tom", "Bob", "Alice"})

В функцию frozenset передается набор элементов – список, кортеж, другое множество.

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Связи между моделями.

Связи между моделями.

В нашем проекте есть одна модель под названием “Объявления”. В этой статье мы создадим новый класс модели “Rubric”, которая будет представлять рубрики объявлений. Допишем в

 
Параметры полей и моделей.

Параметры полей и моделей.

Для того, чтобы наша административная панель Django выглядела более понятна для обычного пользователя необходимо указать правильные названия полей. Наша созданная модель представляется непонятной аббревиатурой “Bbs”,

 
Административный web-сайт Django.

Административный web-сайт Django.

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

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: