logo

Python užsakytas rinkinys

Sužinosime, kaip galime sukurti užsakymų rinkinį naudodami skirtingus metodus naudodami Python . Užsakytas rinkinys yra duomenų struktūra, kurioje galima išsaugoti duomenų tvarką, ir ji naudojama, kai reikalaujame, kad duomenų padėtis išliktų fiksuota tokia tvarka, kurią įterpėme. Reikia pažymėti, kad Mes galime pakartoti užsakytą rinkinį, o tai reiškia, kad užsakytas rinkinys, kai paskelbiame, kad vertės padėtis yra fiksuota. Tačiau rinkinyje gausite prenumeruojamą klaidą kartodami, nes pozicijos rinkinyje nėra fiksuotos.

Pavyzdys:



įvesties_duomenų rinkinys = {Princas, Aditya, Praveer, Shiv}

Išvestis netvarkingo rinkinio atveju: {Aditya, Prince, Shiv, Praveer}, tai gali būti atsitiktinė padėtis jūsų pusėje

Išėjimas užsakyto komplekto atveju: {Princas, Aditya, Praveer, Shiv}



Paaiškinimas: Kaip žinote Python, jei spausdinate šį rinkinį daugiau nei vieną kartą, kiekvieną kartą gausite atsitiktinę to paties duomenų rinkinio elementų padėtį.

Tačiau užsakyto rinkinio atveju gausite tą patį duomenų rinkinį kiekvieną kartą ta pačia tvarka, kurią įdėjote.

Yra trys būdai, kaip sukurti išdėstytus rinkinius Python:



  • Naudojant a žodynas duomenų struktūra
  • Naudodami sąrašą duomenų struktūra
  • Naudodami užsakytą rinkinio modulį (arba klasę)

Užsakytas rinkinys naudojant žodyno duomenų struktūrą

Mes galime naudoti žodyno duomenų struktūrą kurdami sutvarkytą rinkinį, nes pats žodynas yra sutvarkyta duomenų struktūra, kurioje rinkinio elementus naudosime kaip raktus, nes raktai žodyne yra unikalūs, o vertės vietoje galime sukurti tuščią eilutę. Pažvelkime į įgyvendinimą, kaip paaiškinta toliau:

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

>

char + int java
>

Išvestis:

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

Užsakytas rinkinys naudojant sąrašo duomenų struktūrą

Mes galime naudoti sąrašo duomenų struktūrą, kad sukurtume užsakymų rinkinį, pašalindami iš jo pasikartojančius elementus. Pažvelkime į įgyvendinimą, kaip paaiškinta toliau:

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

>

>

Išvestis:

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

Užsakytas rinkinys naudojant užsakyto komplekto modulį (arba klasę)

Pagal numatytuosius nustatymus turite nesutvarkytą rinkinį Python, bet norėdami sukurti užsakytą rinkinį turėsite įdiegti modulį, pavadintą ordered-set by pip paketo diegimo programa, kaip nurodyta toliau:

Kaip įdiegti užsakytą rinkinio modulį

Naudodami pip paketo diegimo programą atsisiųskite užsakyto rinkinio modulį, kaip nurodyta toliau: -

pip install ordered_set>

OrderedSet sintaksė:

orderedSet(Listname)>

Pavyzdys:

Dabar, norėdami gauti daugiau aiškumo, pakartokime užsakytą rinkinį, nes rinkinio negalima pakartoti, kaip nurodyta toliau:

Python3


pakeisti eilutę java



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

>

>

Išvestis:

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

Laiko sudėtingumas: O(n), kur n yra elementų skaičius sutvarkytoje aibėje

Pagalbinė erdvė: O(n) , kur n yra elementų skaičius sutvarkytoje aibėje