<MyRusakov.ru />

Программирование на Python с Нуля до Гуру

Программирование на Python с Нуля до Гуру

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

К курсу прилагается множество упражнений и все исходники из уроков.

Наконец, Вы получите ещё несколько бонусов: "Создание калькулятора на Python", "Создание игры на Python" и "Правильная работа со справочником".

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Множество (set) в Python

Множество (set) в Python

На этом уроке мы познакомимся с ещё одним типом данных в Python, множеством (по-английски - set). Множество - это неупорядоченный набор уникальных элементов. Этими двумя характеристиками множество и отличается от списков. Для освежения в памяти, можете заглянуть на урок Работа со списками в Python.

Создание множества в Python

Множества выводятся в фигурных скобках, через запятую.

a = {1, 3, 5, 7}
print(a)
{1, 3, 5, 7}

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

# целые числа
b = {1, 3, 5, 7, 1, 3, 5, 7 }
print(b)
{1, 3, 5, 7}

# строки
c = {'ok', 'no', 'yes', 'ok', 'no', 'yes'}
print(c)
{'ok', 'no', 'yes'}

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

Функция set разбивает строку на символы, а из символов формирует множество. Мы видим, что символы на выходе расположились в случайном порядке и убрались дубли (буква о). Обратите внимание, что строка заключена в круглые скобки. Вспоминаем, что после функции всегда идут круглые скобки.

d = set('множество')
print(d)
{'о', 'ж', 'т', 'н', 'с', 'м', 'е', 'в'}

Преобразование списка в множество


f = set([11, 12, 13, 14, 12, 13])
print(f)
{11, 12, 13, 14}

e = set(['list', 'set', 'and', 'set'])
print(e)
{'and', 'list', 'set'}

Создание пустого множества

q = set()
print(q)
set()

Добавление элемента в множество

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

w = {3, 4, 9}
w.add(11)
print(w)
{11, 9, 3, 4}

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

t = {5, 6, 10}
t.update([12, 15, 17])
print(t)
{5, 6, 10, 12, 15, 17}

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

Метод discard удаляет указанный элемент в скобках.

y = {20, 21, 22}
y.discard(21)
print(y)
{20, 22}

Метод remove делает тоже самое.

p = {27, 28, 29}
p.remove(27)
print(p)
{28, 29}

Но разница между двумя методами все же есть. При попытке удаления несуществующего элемента методом discard никакой ошибки не будет. А при удалении с помощью метода remove, возникнет ошибка.

u = {23, 24, 25}
u.discard(26)
print(u)
{24, 25, 23}

s = {27, 28, 29}
s.remove(30)
print(s)
KeyError: 30

Метод pop удаляет случайный элемент, аргументы внутри скобок не передаются.

g = {27, 28, 29}
g.pop()
print(g)
{28, 29}

Метод clear очищает все элементы множества.

h = {31, 32, 33}
h.clear()
print(h)
set()

Найти длину множества в Python

Функция len подсчитает количество элементов в множестве.

k = {34, 35, 36, 37}
print(len(k))
4

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

Оператор амперсанд (&) ищет одинаковые элементы в нескольких множествах и формирует новое множество, состоящее из пересекаемых элементов. Если пересекаемых элементов нет, то выводится пустое множество.

l = {38, 39, 40, 41}
z = {42, 39, 40, 43}
print(l & z)
{40, 39}

x = {44, 45, 46, 47}
c = {48, 49, 50, 51}
print(x & c)
set()

Объединение множеств в Python

Оператор вертикальная черта (|) объединяет элементы нескольких множеств в одно, удаляя дубли.

v = {52, 53, 54, 55}
b = {55, 56, 57, 58}
print(v | b)
{52, 53, 54, 55, 56, 57, 58}

Метод union является аналогичным способом объединения множеств.

n = {59, 60, 61}
m = {62, 63, 64}
print(n.union(m))
{64, 59, 60, 61, 62, 63}

Сравнение множеств в Python

Результат сравнения вернет True, если элементы одного множества, идентичны элементам другого множества.

one = {71, 72, 73}
two = {71, 72, 73}
print(one == two)
True

q = {65, 66, 67}
z = {68, 69, 70}
print(q == z)
False

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.