Objednaná sada Pythonu

Dozvíme se, jak můžeme vytvořit sadu objednávek pomocí různých metod pomocí Pythonu. Uspořádaná množina je datová struktura, ve které lze zachovat pořadí dat a používá se, když požadujeme, aby pozice dat zůstala pevná v pořadí, které jsme vložili. Je třeba poznamenat, že Jsme schopni iterovat objednanou sadu, což znamená, že objednaná sada, jakmile deklarujeme polohu hodnoty, je pevná. Ale v sadě se při iteraci zobrazí chyba, kterou lze zapsat, protože pozice nejsou v sadě pevně dané.

Příklad:

input_dataSet = {Princ, Aditya, Praveer, Shiv}

Výstup v případě neobjednané sady: {Aditya, Prince, Shiv, Praveer}, Může to být náhodná pozice na vaší straně

Výstup v případě objednané sady: {Princ, Aditya, Praveer, Shiv}

Vysvětlení: Jak víte v Pythonu, pokud tuto sadu vytisknete vícekrát, pokaždé získáte náhodné umístění položek pro stejnou datovou sadu.

Ale v případě objednané sady dostanete stejnou sadu dat pokaždé ve stejném pořadí, v jakém jste vložili položky.

Existují tři způsoby, jak vytvořit uspořádané sady v Pythonu:

  • Pomocí a slovník datová struktura
  • Pomocí seznam datová struktura
  • Použitím objednaného modulu (nebo třídy) sady

Seřazená sada pomocí datové struktury slovníku

Pro vytvoření uspořádané množiny můžeme použít datovou strukturu slovníku, protože slovník je sám o sobě uspořádanou datovou strukturou, ve které budeme používat položky množiny jako klíče, protože klíče jsou ve slovníku jedinečné a na místě hodnoty můžeme vytvořit prázdný řetězec. Podívejme se na implementaci, jak je vysvětleno níže:

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ýstup:

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

Seřazená sada pomocí datové struktury seznamu

Můžeme použít datovou strukturu seznamu k vytvoření sady objednávek odstraněním duplicitních prvků z ní. Podívejme se na implementaci, jak je vysvětleno níže:

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ýstup:

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 pomocí objednaného modulu sady (nebo třídy)

Ve výchozím nastavení máte v Pythonu neuspořádanou sadu, ale pro vytvoření uspořádané sady budete muset nainstalovat modul s názvem order-set pomocí instalačního programu balíčku pip, jak je uvedeno níže:

Jak nainstalovat modul objednané sady

Pomocí instalačního programu balíčku pip si stáhněte modul objednané sady, jak je uvedeno níže: -

pip install ordered_set 

Syntaxe orderSet:

orderedSet(Listname) 

Příklad:

Nyní, pro další objasnění, iterujme objednanou sadu, protože sadu nelze iterovat, jak je uvedeno níže:

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ýstup:

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

Časová složitost: O(n), kde n je počet prvků v uspořádané sadě

Pomocný prostor: O(n) , kde n je počet prvků v uspořádané sadě