831.54K
Category: programmingprogramming

Множества. Методы для работы со множествами

1.

Множества

2.

Множества содержат неповторяющиеся данные в
произвольном порядке. Создадим множество несколькими
способами:

3.

Для удаления повторяющихся элементов удобно
использовать множества:

4.

Методы для работы со
множествами
Методы множеств, в основном, вызываются по схеме: set.method().
Ниже будут перечислены полезные методы для работы с
множествами:
len(s) - возвращает количество элементов во множестве
(размер множества);

5.


x in s - проверяет, принадлежит ли x множеству s;
• isdisjoint(other) - если одно и другое (other) множество не имеют общих
элементов, то возвращает истину;

6.

issubset(other) или set <= other - если все элементы одного
множества (set) принадлежат другому множеству (other), то
возвращает истину;
issuperset(other) или set >= other - аналогично;

7.

union(other, ...) или set | other | ... - возвращает объединение
множеств;
• intersection(other, ...) или set & other & ... - возвращает пересечение
множеств;

8.

symmetric_difference(other) или set ^ other - возвращает
множество из элементов, встречающихся в одном множестве,
но не встречающихся в обоих множествах;
copy() - создает копию множества;

9.

update(other, ...) или set |= other | ... - обновляет множество,
внося в него изменения;
intersection_update(other, ...) или set &= other & ... - обновляет множество
путем пересечения множеств;

10.

difference_update(other, ...) или set -= other | ... - обновляет
множество путем вычитания множеств;
symmetric_difference_update(other) или set ^= other - обновляет множество
путем симметричного вычитания множеств (элементы, встречающиеся в
одном множестве, но не встречающиеся в обоих);

11.

add(elem) - обновляет множество путем добавления элемента в
множество;
remove(elem) - обновляет множество путем удаления элемента из
множества (возвращает KeyError, если такого элемента не существует);

12.

discard(elem) - обновляет множество путем удаления элемента,
если он находится в множестве;
pop() - обновляет множество путем удаления первого элемента из
множества (нельзя точно сказать, какой элемент будет первым, так как
множества не упорядочены);

13.

clear() - обновляет множество путем его очистки;
frozenset: единственное отличие от set заключается в том, что frozenset не
меняется, соответственно, к frozenset можно применить только те
методы, которые не меняют множество.

14.

Задание 1
Дан список чисел. Напишите программу, которая определяет, сколько в
нем встречается различных чисел, используя множества.
Подставьте "Входные данные" в свою программу и сравните результат с
выходными данными.
1) Входные данные: 1, 2, 3, 2, 1.
Выходные значения: 3.
2) Входные данные: 1, 2, 3, 4, 5, 6, 7.
Выходные значения: 7.
3) Входные данные: 1, 1, 1, 1, 1.
Выходные значения: 1.
4) Входные данные: 1, 2, 3, 1, 1.
Выходные значения: 3.

15.

Задание 2
users = {"Tom", "Bob", "Alice"}
1.
Добавьте в это множество новый элемент.
2.
Удалите один элемент

16.

Задание 3
Даны два списка чисел. Напишите программу, которая определяет,
сколько в них встречается общих чисел, используя множества.
Подставьте "Входные данные" в свою программу и сравните результат с
выходными данными.
1) Входные данные: 1, 2, 3
1, 4, 5.
Выходные значения: 1.
2) Входные данные: 1, 2, 3, 4, 5, 6, 7
10, 2, 3, 4, 8.
Выходные значения: 3.
3) Входные данные: 1, 10, 223, 413, 2
2, 40, 12, 100, 10.
Выходные значения: 2.

17.

Задание 3
Даны два множества чисел. Напишите программу, которая определяет, является
ли первое множество подмножеством второго. Множество является
подмножеством другого множества, если все данные первого совпадают с
частью данных из второго. Если множества совпадают, они не являются
подмножествами друг друга.
Подставьте "Входные данные" в свою программу и сравните результат с
выходными данными.
1) Входные данные: {1, 2, 3} {1, 4, 5}.
Выходные значения: False.
2) Входные данные: {1, 2, 3, 4, 5, 6, 7} {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}.
Выходные значения: True.
3) Входные данные: {1, 10, 223, 413, 2}
{1, 10, 223, 413, 2}.
Выходные значения: False.
English     Русский Rules