Python | Konvertuoti rinkinį į sąrašą

Duotas rinkinys, parašykite a Python programa, skirta konvertuoti duotą Nustatykite į sąrašą.

  Input :   ('Geeks', 'for', 'geeks')   Output :   ['Geeks', 'for', 'geeks']   Explanation:   The data type of the input is set and the data type of the output is list . 

Toliau pateikiami metodai, kaip konvertuoti rinkinį į sąrašą, kuriuos aptarsime toliau:

Konvertuokite rinkinį į sąrašą naudodami sąrašo metodą

Čia mes praeiname nustatyti duomenų tipą viduje sąrašą skliausteliuose kaip parametrą ir tai konvertuos nustatytų duomenų tipą į sąrašo duomenų tipą, kaip parodyta toliau pateiktame kode.

Python3




# set into a list> my_set> => {> 'Geeks'> ,> 'for'> ,> 'geeks'> }> print> (> type> (my_set))> s> => list> (my_set)> print> (> type> (s))>

Išvestis:

['Geeks', 'for', 'geeks'] 

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Nustatykite į sąrašą naudodami rūšiavimo () metodą

Naudojant surūšiuota () funkcija konvertuos rinkinį į sąrašą nustatyta tvarka. Vienintelis šio metodo trūkumas yra tas, kad rinkinio elementus reikia rūšiuoti.

Python3




# convert a set into a list> def> convert(> set> ):> > return> sorted> (> set> )> # Driver function> my_set> => {> 1> ,> 2> ,> 3> }> s> => set> (my_set)> print> (convert(s))>

Išvestis:

[1, 2, 3] 

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Konvertuokite rinkinį į sąrašą naudodami funkciją map().

Galite naudoti map() funkcija Norėdami konvertuoti rinkinį į sąrašą, perduodami rinkinys kaip argumentą funkcijai map() ir pateikia rezultatų sąrašą. Pavyzdžiui:

Python3




# program to convert a set into a list> def> convert(s):> > return> list> (> map> (> lambda> x: x, s))> # Driver function> s> => {> 1> ,> 2> ,> 3> }> print> (convert(s))>

Išvestis:

[1, 2, 3] 

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Konvertuokite rinkinį į sąrašą naudodami sąrašo supratimą

Tu gali naudoti sąrašo supratimas sukurti naują sąrašą iš rinkinio elementų, kaip parodyta toliau pateiktame kode.

Python3




def> convert(s):> > # Use a list comprehension to create a new list from the elements in the set> > return> [elem> for> elem> in> s]> s> => {> 1> ,> 2> ,> 3> }> print> (convert(s))>

Išvestis:

[1, 2, 3] 

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Konvertuokite rinkinį į sąrašą naudodami [*set, ]

Taip iš esmės išpakuojamas rinkinys s sąrašo literale, kuris sukuriamas dėl vieno kablelio (, ). Šis metodas yra šiek tiek greitesnis, bet kenčia nuo skaitomumo.

Pavyzdžiui:

Python3




#program to convert a set into a list> def> convert(> set> ):> > return> [> *> set> , ]> # Driver function> s> => set> ({> 1> ,> 2> ,> 3> })> print> (convert(s))>

Išvestis:

[1, 2, 3] 

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Konvertuoti rinkinį į sąrašą naudojant list() konstruktorių

Galite naudoti list()> konstruktorius, norėdami tiesiogiai konvertuoti rinkinį į sąrašą. Žemiau esančiame kode sukuriame rinkinį „my_set“ su elementais nuo 1 iki 5, tada konvertuojame jį į sąrašą „mano_sąrašas“ naudodami konstruktorių „list()“ ir išspausdiname gautą sąrašą. Išvestis yra „[1, 2, 3, 4, 5]“.

Python3




my_set> => {> 1> ,> 2> ,> 3> ,> 4> ,> 5> }> my_list> => list> (my_set)> print> (my_list)>

Išvestis:

[1, 2, 3, 4, 5] 

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Konvertuoti rinkinį į sąrašą u dainuoti kopijuoti ir išvalyti

Galite padaryti rinkinio kopiją ir išvalyti rinkinį, kad gautumėte tuščią rinkinį, kurį galima naudoti tuščiam sąrašui sukurti . Kadangi toliau pateiktas kodas sukuria rinkinį „my_set“ su elementais nuo 6 iki 10, padaro rinkinio kopiją kaip sąrašą „mano_sąrašas“, išvalo pradinį rinkinį ir išspausdina nukopijuotą sąrašą. Išvestis yra „[6, 7, 8, 9, 10]“.

Python3




my_set> => {> 6> ,> 7> ,> 8> ,> 9> ,> 10> }> my_list> => list> (my_set.copy())> my_set.clear()> print> (my_list)>

Išvestis:

[6, 7, 8, 9, 10] 

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)