Упорядкований набір Python

Ми збираємося дізнатися про те, як ми можемо створити набір порядку за допомогою різних методів за допомогою Python. Упорядкований набір — це структура даних, у якій порядок даних може бути збережений, і він використовується, коли нам потрібно, щоб позиція даних залишалася фіксованою в порядку, який ми вставили. Слід зазначити, що Ми можемо повторити впорядкований набір, що означає, що впорядкований набір, як тільки ми оголосимо положення значення фіксованим. Але в наборі ви отримаєте помилку підписки під час ітерації, оскільки позиції в наборі не фіксовані.

приклад:

input_dataSet = {Prince, Aditya, Praveer, Shiv}

Вихід у випадку невпорядкованої множини: {Aditya, Prince, Shiv, Praveer}, це може бути випадкова позиція на вашому боці

Вихід у разі впорядкованого набору: {Prince, Aditya, Praveer, Shiv}

Пояснення: Як ви знаєте в Python, якщо ви друкуєте цей набір кілька разів, щоразу ви отримуватимете випадкове розташування елементів для того самого набору даних.

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

Існує три методи створення впорядкованих наборів у Python:

  • Використовуючи a словник структура даних
  • За допомогою список структура даних
  • Використовуючи впорядкований модуль (або клас)

Упорядкований набір із використанням структури даних словника

Ми можемо використовувати структуру даних словника для створення впорядкованого набору, оскільки словник сам по собі є впорядкованою структурою даних, у якій ми будемо використовувати елементи набору як ключі, оскільки ключі унікальні в словнику, і на місці значення ми можемо створити порожній рядок. Давайте розглянемо реалізацію, як описано нижче:

Python3




# Creation of ordered set using the dict data structure> dictionary> => {> 'Prince'> : '> ', '> Aditya> ': '> ',> > 'Praveer'> : '> ', '> Prince> ': '> ', '> Shiv> ': '> '}> print> (dictionary)> # For accessing only keys from the dictionary> for> key> in> dictionary.keys():> > print> (key, end> => ' '> )>

Вихід:

{'Prince': '', 'Aditya': '', 'Praveer': '', 'Shiv': ''} Prince Aditya Praveer Shiv 

Упорядкований набір із використанням структури даних списку

Ми можемо використовувати структуру даних списку, щоб створити набір порядку, видаливши з нього повторювані елементи. Давайте розглянемо реалізацію, як описано нижче:

Python3




def> removeduplicate(data):> > countdict> => {}> > for> element> in> data:> > if> element> in> countdict.keys():> > > # increasing the count if the key(or element)> > # is already in the dictionary> > countdict[element]> +> => 1> > else> :> > # inserting the element as key with count = 1> > countdict[element]> => 1> > data.clear()> > for> key> in> countdict.keys():> > data.append(key)> dataItem> => [> 'Prince'> ,> 'Aditya'> ,> 'Praveer'> ,> 'Prince'> ,> 'Aditya'> ,> 'Shiv'> ]> print> (> 'Before removing duplicate elements from dataItems'> , dataItem)> removeduplicate(dataItem)> print> (> 'Created ordered set by removing duplicate elements'> , dataItem)>

Вихід:

Before removing duplicate elements from dataItems ['Prince', 'Aditya', 'Praveer', 'Prince', 'Aditya', 'Shiv'] Created ordered set by removing duplicate elements ['Prince', 'Aditya', 'Praveer', 'Shiv'] 

Упорядкований набір з використанням модуля (або класу) впорядкованого набору

За замовчуванням у вас є невпорядкований набір у Python, але для створення впорядкованого набору вам доведеться встановити модуль під назвою ordered-set за допомогою інсталятора пакету pip, як зазначено нижче:

Як встановити замовлений набірний модуль

Використовуючи програму встановлення пакетів pip, завантажте модуль упорядкованого набору, як зазначено нижче:-

pip install ordered_set 

Синтаксис orderedSet:

orderedSet(Listname) 

приклад:

Тепер, для більшого пояснення, давайте повторимо впорядкований набір, оскільки набір не можна повторити, як зазначено нижче:

Python3




from> ordered_set> import> OrderedSet> createOrderedSet> => OrderedSet(> > [> 'GFG'> ,> 'is'> ,> 'an'> ,> 'Excellent'> ,> > 'Excellent'> ,> 'platform'> ])> print> (createOrderedSet)> # we are able to iterate it similar to list data type> for> index> in> range> (> len> (createOrderedSet)):> > print> (createOrderedSet[index], end> => ' '> )>

Вихід:

OrderedSet(['GFG', 'is', 'an', 'Excellent', 'platform']) GFG is an Excellent platform 

Часова складність: O(n), де n – кількість елементів у впорядкованому наборі

Допоміжний простір: O(n) , де n – кількість елементів у впорядкованому наборі