Операції
над множинами в Пітоні
Eлементи множини
повинні бути:
незмінними і хешованими.
Елементами
множини типу set можуть бути такі об’єкти:
·
Цілі числа(int)вигляду:{ -29, -2, -1, 0, 1, 2, 100034};
·
Числа з
плаваючою крапкою(float) вигляду:{-3.56; 4.62};
·
Рядки(str) вигляду: {'D', 'DD1',
'DDD2', 'DDD3'};
·
Кортежі(записи)
вигляду: {-3.02, True,
False, 0.5, "Gnat"}
Елементами множини типу set не можуть бути такі об’єкти:
·
Списки(list) вигляду: [True, False, False, True, False,True]
·
Словники(dict) вигляду: dict(червоне="рух заборонено", жовте="увага",
зелене="рух дозволено");
·
Множини(set) вигляду: {-3, -2, "Arsen", "Artem", 0, True};
Множина
є неупорядкованою сукупністю об’єктів,
в
якій не може бути дублікатів.
Приклади кодування множини:
Спосіб 1. Список жіночих імен перетворюється в множину:
A1=set(["Agnesa", "Alla", "Alisa", "Aida"])
print("множина: A1=",A1, type(A1))
Результат виведення на екран монітора:
# множина: A1= {'Alisa', 'Agnesa', 'Aida', 'Alla'}
<class 'set'>
Спосіб 2. Список чоловічих імен перетворюється в
множину:
A2={"Abram", "Adam",
"Anastas", "Adam", "Abram",
"Adam"};
print("множина: A2=",A2, type(A2))
Результат виведення на екран монітора:
# множина: A2= {'Adam', 'Abram', 'Anastas'} <class
'set'>
Спосіб 3. Два списки перетворюються на множини і над
ними виконується опереація об’єднання «|» та віднімання «-« :
A3=[True, False];
A4=[1, 2,3,4];
A5=set((set(A3)|set(A4))-{1,2}),
print("множина: A5=", A5, type(A5))
Результат виведення на екран монітора:
# множина: A5= ({False, 3, 4},) <class 'tuple'>
Спосіб 4. Множина із логічних типів та рядків
символів
A6={True, False, False, "True", 'False', "False",
"False"}
print("множина: A6=",A6, type(A6))
Результат виведення на екран монітора:
# множина: A6= {False, True, 'False', 'True'} <class
'set'>
Спосіб 5. Множина букв вислову.
A7 = set('Hello, Python!')
print("множина: A7=",A7, type(A7))
Результат виведення на екран монітора:
#множина: A7= {' ', 'P', 'n', 'l', 'o', 't', '!', 'H',
'y', ',', 'h', 'e'} <class 'set'>
Спосіб 6. Множина, що
утворена із словника.
A8=set(dict(червоне="рух заборонено",
жовте="увага", зелене="рух дозволено"))
print("множина: A8=",A8, type(A8))
Результат виведення на екран монітора:
# множина: A8= {'зелене', 'червоне', 'жовте'} <class
'set'>
Зразки
кодування множин мовою програмування Python3
A={"Agnesa",
"Alla", "Alisa",
"Aida"};
A1={"Abram",
"Adam", "Anastas",
"Arnold", "Abram", "Adam"};
B={-3,
-2, "Arsen", "Artem", 0, True};
B1={-3.02,
True, False, 0.5, "Gnat"}
C={1,
True, 0, False, -1, 'FalseTrue'};
C1={'D',
'D1', 'D2', 'D3', 'D4'}
A3=["Agnesa",
"Alla", "Alisa",
"Aida"]
C2=[True,
False, False, False]
C3={"True",
"False", "False", "False"}
print("список:
A3=",A3, type(A3)) # список:
A3= ['Agnesa', 'Alla', 'Alisa', 'Aida'] <class 'list'>
print("множина:
A1=",A1, type(A1)) # множина:
A1= {'Anastas', 'Adam', 'Arnold', 'Abram'} <class 'set'>
print("cписок:
C2=",C2, type(C2)) # cписок: C2=
[True, False, False, False] <class 'list'>
print("множина:
C3=",C3, type(C3)) # множина: C3=
{'True', 'False'} <class 'set'>
Щоб
створити множину, слід використовувати функцію set()
або
розмістити у фігурних дужках
одне
або кілька значень, розділених комами.
Мова
програмування Python має засоби для роботи з множинами.
У
Python множина – це
невпорядкована колекція елементів, яка має наступні особливості:
·
усі
елементи множини є унікальні. Іншими словами, у множині не може бути двох
однакових елементів;
·
елементи
множини є незмінюваними об’єктами;
·
елементи
множини можуть бути різних типів.
У
Python множина представлена окремим типом даних. Множини підтримують операції,
що існують в теорії множин з курсу математики. Множина може бути пустою (не
містити елементів).
Приклади
множини в Python3.
#
множина, яка містить три елементи: 'a', 5, 'textbook'
R={'a', 5,
"textbook"}
#
множина, яка містить цілі числа від 0 до 5
T={0,1,2,3,4,5}
#
пуста множина
P={ }
Створення об’єкту типу “множина”. Функція set(). Приклади
·
Щоб створити об’єкт типу “множина”
можна використати один з наступних
способів:
1.
з допомогою присвоєння цьому об’єкту
множини
елементів фігурних дужках { };
2.
з допомогою присвоєння об’єкту деякого
результату,
що був повернутий функцією set().
Функція set() дозволяє
перетворити
в множину об’єкти інших типів;
3.
з допомогою присвоєння об’єкту
результату функції frozenset().
Функція frozenset() є
конструктором
класу frozenset. Ця функція
дозволяє
отримати незмінну (immutable) множину;
4.
з допомогою присвоєння об’єкту
результату
деякої операції над множинами
(наприклад,
операції & перетину множин);
5.
з допомогою присвоєння об’єкту
результату функції,
яка повертає
деяку множину.
Приклад.
#
Множини
Створення
об'єкту типу "множина"
#
1. З допомогою фігурних дужок
{ }
x = { 0, 0, 1,
2, 3 }
Виведення:
# x = {0, 1, 2, 3} - елементи в множині
не повторюються
y = { 'a',
"textbook", 5 }
Виведення:
#
y = {'a', 'textbook', 5}
z = { True,
False, 0.25, 'Hello' }
Виведення:
#
z = {False, True, 'Hello', 0.25}
Створення
об'єкту типу "множина"
#
2. З допомогою функції set
x = set(['a', 5,
"textbook", 5])
Виведення:
# x = {5, 'textbook', 'a'}
y =
set('Hello!')
Виведення:
# y = {'l', 'o', 'e', '!', 'H'}
z =
set([0,1,2,3,4,5])
Виведення:
# z = {0, 1, 2, 3, 4, 5}
Створення
об'єкту типу "множина"
#
3. З допомогою деякої
операції
x = { 1, 2, 3, 4
} & { 3, 2}
Виведення:
# x = {2, 3}перетин множин
y = { 1, 2, 3, 4
} - { 1, 4}
Виведення:
# y = {2, 3}різниця множин
z = { 'a', 'c',
5 } | { True
}
Виведення:
# z = {'a', 5, 'c', True}сума множин
Створення
об'єкту типу "множина"
#
4. З допомогою функції
frozenset
x =
frozenset([1, 2, 3, 4])
Виведення:
# frozenset({1, 2, 3, 4}) <class
'frozenset'>
#
5. З допомогою функції, яка
повертає множину
x = { 1, 2, 3, 4
}
y = { 3, 5, 7 }
z = x.union(y)
Виведення: # z
= { 1, 2, 3, 4, 5, 7 }обєднання множин
Множини
чисел в Python3:
A={24, 17, 59, 87}; A1={2.4, 1.77, 5.99,
8.4567};
B={-3, -2, -1,
0}; B1={-3.02,
-2.008, -1.0005, 0.5}
C={-5, 5, -9, 8, 7}; C1={-5.45, 5.82, -9.59, 8.54, 7.777}
Множини рядків символів
в Python3:
A={"Agnesa", "Alla", "Alisa", "Aida"};
A1={"Abram", "Adam", "Anastas",
"Arnold"};
Множини чисел і символів в Python3:
B={-3, -2,
"Arsen",
"Artem", 0, True};
B1={-3.02, True,
False, 0.5, "Gnat"}
C={1, True, 0, False, -1, 'FalseTrue'};
C1={'D', 'D1', 'D2', 'D3', 'D4'}
Базові
операції над множинами.
Мова
Python підтримує наступні операції над множинами:
in –
перевірка елементу на входження в множину;
– (мінус) – різниця множин: (A in set(B)=True);
| – об’єднання множин(cума множин, C=A|B);
& –
перетин множин(переріз множин C=A&B);
^ – симетрична різниця(C=AÈB-AÇB= A|B- A&B).
Операція |. Об’єднання множин.
Об’єднання множин a та b – це
утворення такої множини c, елементи якої є в
множині a або є в
множині b.
У
мові Python для реалізації об’єднання множин можна використати операцію | або функцію union().
Приклад кодування: C=A.union(B). Або
C=A|B
Операція &. Перетин множин.
Перетин двох множин a, b – це множина c,
що містить спільні елементи множин a, b. Кожен елемент множини c розміщується у множині a а також у множині b.
У
мові Python для реалізації перетину множин використовується операція & або функція intersection().
Приклад кодування: C=A.intersection(B). Або C=A&B
Операція -. Різниця множин.
В
Python операція різниця множин позначається символом – (мінус). Крім того для визначення різниці множин у
Python реалізовано функцію difference().
Приклад кодування: C=A.difference(B). Або C=A-B
Операції in, not in. Перевірка
елементу на входження.
Операція in використовується у випадках, коли потрібно
визначити чи входить елемент у множину.
Приклад кодування: x in A. Або x not in B
Операція ^. Симетрична різниця множин.
В
Python операція cиметрична
різниця множин позначається символом ^ (Power). Крім того для
визначення симетричної різниці множин у Python реалізовано функцію symmetric_difference().
Приклад кодування: C=A. symmetric_difference(B). Або C=A^B
Немає коментарів:
Дописати коментар