середу, 17 лютого 2021 р.

Операції над множинами в Пітоні

 

Операції над множинами в Пітоні

 

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

 

Операція &. Перетин множин.

Перетин двох множин ab – це множина c, що містить спільні елементи множин ab. Кожен елемент множини c розміщується у множині a а також у множині b.

У мові Python для реалізації перетину множин використовується операція & або функція intersection().

Приклад кодування: C=A.intersection(B).  Або   C=A&B

 

Операція -. Різниця множин.

В Python операція різниця множин позначається символом  (мінус). Крім того для визначення різниці множин у Python реалізовано функцію difference().

Приклад кодування: C=A.difference(B).  Або   C=A-B

 

Операції innot in. Перевірка елементу на входження.

Операція in використовується у випадках, коли потрібно визначити чи входить елемент у множину.

Приклад кодування:  x in A.     Або   x not in B

 

Операція ^. Симетрична різниця множин.

В Python операція cиметрична різниця множин позначається символом ^ (Power). Крім того для визначення симетричної різниці множин у Python реалізовано функцію symmetric_difference().

Приклад кодування: C=A. symmetric_difference(B). Або   C=A^B

Немає коментарів:

Дописати коментар