Objednaná sada Pythonu

Dozvieme sa, ako môžeme vytvoriť množinu objednávok pomocou rôznych metód pomocou Pythonu. Usporiadaná množina je dátová štruktúra, v ktorej je možné zachovať poradie údajov a používa sa, keď požadujeme, aby poloha údajov zostala pevná v poradí, ktoré sme vložili. Je potrebné poznamenať, že Sme schopní iterovať objednanú množinu, čo znamená, že objednaná množina, keď deklarujeme polohu hodnoty, je pevná. Ale v súprave sa pri iterácii zobrazí chyba, ktorú možno pripísať, pretože pozície nie sú v súprave pevne dané.

Príklad:

input_dataSet = {Princ, Aditya, Praveer, Shiv}

Výstup v prípade neobjednanej súpravy: {Aditya, Prince, Shiv, Praveer}, Môže to byť náhodná pozícia na vašej strane

Výstup v prípade objednanej súpravy: {Princ, Aditya, Praveer, Shiv}

Vysvetlenie: Ako viete v Pythone, ak túto množinu vytlačíte viackrát, zakaždým získate náhodné umiestnenie položiek pre rovnakú množinu údajov.

Ale v prípade objednaného setu dostanete rovnaký dataset zakaždým v rovnakom poradí, v akom ste vložili položky.

Existujú tri spôsoby, ako vytvoriť usporiadané sady v Pythone:

  • Pomocou a slovník dátová štruktúra
  • Pomocou zoznam dátová štruktúra
  • Použitím objednaného modulu (alebo triedy) súpravy

Usporiadaná množina využívajúca dátovú štruktúru slovníka

Na vytvorenie usporiadanej množiny môžeme použiť dátovú štruktúru slovníka, pretože samotný slovník je usporiadanou dátovou štruktúrou, v ktorej budeme používať položky množiny ako kľúče, pretože kľúče sú v slovníku jedinečné a na mieste hodnoty môžeme vytvoriť prázdny reťazec. Pozrime sa na implementáciu, ako je vysvetlené nižšie:

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> => ' '> )>

Výkon:

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

Usporiadaná sada pomocou dátovej štruktúry zoznamu

Dátovú štruktúru zoznamu môžeme použiť na vytvorenie množiny objednávok odstránením duplicitných prvkov z nej. Pozrime sa na implementáciu, ako je vysvetlené nižšie:

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)>

Výkon:

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

Objednaná sada pomocou objednaného modulu sady (alebo triedy)

V predvolenom nastavení máte v Pythone neusporiadanú sadu, ale na vytvorenie objednanej sady budete musieť nainštalovať modul s názvom order-set inštalátorom balíka pip, ako je uvedené nižšie:

Ako nainštalovať modul objednaného setu

Pomocou inštalačného programu balíka pip si stiahnite objednaný modul, ako je uvedené nižšie: -

pip install ordered_set 

Syntax orderSet:

orderedSet(Listname) 

Príklad:

Teraz, pre ďalšie vysvetlenie, zopakujme objednanú množinu, pretože množinu nemožno iterovať, ako je uvedené nižšie:

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> => ' '> )>

Výkon:

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

Časová zložitosť: O(n), kde n je počet prvkov v usporiadanej množine

Pomocný priestor: O(n) , kde n je počet prvkov v Usporiadanej množine