Zamówiony zestaw Pythona

Dowiemy się, w jaki sposób możemy utworzyć zestaw kolejności, używając różnych metod przy użyciu Pythona. Zbiór uporządkowany to struktura danych, w której można zachować kolejność danych i stosuje się ją, gdy wymagamy, aby pozycja danych pozostała stała we wstawionej kolejności. Należy zauważyć, że Jesteśmy w stanie iterować uporządkowany zbiór, co oznacza, że ​​uporządkowany zbiór po zadeklarowaniu pozycji wartości jest stały. Ale w zestawie podczas iteracji pojawi się błąd subskrybowalny, ponieważ pozycje w zestawie nie są ustalone.

Przykład:

zestaw_danych_wejściowych = {Książę, Aditya, Praveer, Shiv}

Dane wyjściowe w przypadku zestawu nieuporządkowanego: {Aditya, Prince, Shiv, Praveer}, może to być losowa pozycja po twojej stronie

Dane wyjściowe w przypadku zamówionego zestawu: {Książę, Aditya, Praveer, Shiv}

Wyjaśnienie: Jak wiesz w Pythonie, jeśli wydrukujesz ten zestaw więcej niż jeden raz, za każdym razem otrzymasz losowe rozmieszczenie elementów w tym samym zestawie danych.

Ale w przypadku zestawu zamówionego otrzymasz ten sam zestaw danych za każdym razem w tej samej kolejności, w jakiej wstawiałeś elementy.

Istnieją trzy metody tworzenia uporządkowanych zbiorów w Pythonie:

  • Używając A słownik struktura danych
  • Korzystając z lista struktura danych
  • Korzystając z zamówionego modułu zestawu (lub klasy)

Zestaw uporządkowany przy użyciu słownikowej struktury danych

Możemy użyć słownikowej struktury danych do stworzenia uporządkowanego zbioru, ponieważ słownik sam w sobie jest uporządkowaną strukturą danych, w której będziemy używać elementów zestawu jako kluczy, ponieważ klucze są unikalne w słowniku i w miejscu wartości możemy utworzyć pusty ciąg znaków. Przyjrzyjmy się implementacji, jak wyjaśniono poniżej:

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

Wyjście:

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

Uporządkowany zestaw przy użyciu listowej struktury danych

Listową strukturę danych możemy wykorzystać do stworzenia zestawu porządkowego, usuwając z niego zduplikowane elementy. Przyjrzyjmy się implementacji, jak wyjaśniono poniżej:

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

Wyjście:

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

Zamówiony zestaw za pomocą modułu (lub klasy) zamówionego zestawu

Domyślnie masz nieuporządkowany zestaw w Pythonie, ale aby utworzyć uporządkowany zestaw, będziesz musiał zainstalować moduł o nazwie Order-Set przez instalatora pakietu pip, jak wspomniano poniżej:

Jak zainstalować zamówiony moduł zestawu

Korzystając z instalatora pakietu pip, pobierz moduł zamówionego zestawu, jak wspomniano poniżej: -

pip install ordered_set 

Składnia uporządkowanego zestawu:

orderedSet(Listname) 

Przykład:

Teraz dla większego wyjaśnienia przeprowadźmy iterację uporządkowanego zbioru, ponieważ zbioru nie można iterować, jak wspomniano poniżej:

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

Wyjście:

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

Złożoność czasowa: O(n), gdzie n jest liczbą elementów w zbiorze uporządkowanym

Przestrzeń pomocnicza: O(n) , gdzie n jest liczbą elementów w zbiorze uporządkowanym