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:
- Naudojant sąrašo metodas
- Naudojant surūšiuota () metodas
- Naudojant map() funkcija
- Naudojant sąrašo supratimas
- Naudojant [* rinkinys, ]
- Naudojant list() konstruktorius
- Kopijuoti ir išvalyti
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)