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