Če imate seznam, napišite program Python za pretvorbo podanega seznama v niz. Obstajajo različne situacije, na katere lahko naletimo, ko je podan seznam in ga pretvorimo v niz v Pythonu.
Na primer pretvorba v niz s seznama nizov ali seznama celih števil.
Primer
Input: ['Geeks', 'for', 'Geeks'] Output : Geeks for Geeks Explanation: The Input is of list data type but the output is of string datatype>
Program za pretvorbo seznama v niz
- Uporaba zanke for
- Uporaba metode .join().
- IN sing seznam razumevanje
- Uporaba map() funkcijo
- Uporaba funkcije enumerate
- Uporaba v operaterju
- Uporaba metode functools.reduce
- Uporaba metode str.format
- Uporaba rekurzije
Pretvorite seznam Python v niz z uporabo zanke for
Iterirajte po seznamu z uporabo za zanko in še naprej dodajajte element za vsak indeks v nekem praznem nizu in tako bo končni niz, ki ga imamo, podatkovnega tipa niz
Python3
# Python program to convert a list to string> def> listToString(s):> ># initialize an empty string> >str1>=> ''> ># traverse in the string> >for> ele>in> s:> >str1>+>=> ele> ># return string> >return> str1> # Driver code> s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> print>(listToString(s))> |
>
>Izhod
techcodeview.com>
Časovna zapletenost: O(n)
Pomožni prostor: O(n)
Pretvori seznam Python v niz z uporabo metode join().
Funkcija listToString(s), ki sprejme seznam s kot vhod. Znotraj funkcije se inicializira prazen niz str1. The funkcija join(). nato vrne rezultat združevanja elementov vhodnega seznama s v en sam niz z uporabo presledka kot ločila. Koda gonilnika inicializira seznam s, pokliče funkcijo listToString(s) in natisne rezultat združevanja elementov seznama s presledki.
Opomba: Kaj pa, če seznam kot element vsebuje niz in celo število? V teh primerih zgornja koda ne bo delovala. Med dodajanjem v niz ga moramo pretvoriti v niz.
Python3
# Function to convert> def> listToString(s):> ># initialize an empty string> >str1>=> ' '> ># return string> >return> (str1.join(s))> > > # Driver code> s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> print>(listToString(s))> |
>
>Izhod
Geeks for Geeks>
Časovna zapletenost: O(n)
Pomožni prostor: O(n)
Pretvorite seznam v niz z uporabo razumevanja seznama
Tukaj bomo uporabili razumevanje seznama za pretvorbo seznama v niz, kot kaže spodnja koda implementacijo
Python3
# Python program to convert a list to string using list comprehension> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> # using list comprehension> listToStr>=> ' '>.join([>str>(elem)>for> elem>in> s])> print>(listToStr)> |
>
>Izhod
I want 4 apples and 18 bananas>
Časovna zapletenost : Časovna zahtevnost programa je O(n), kjer je n dolžina seznama s, ker enkrat ponovi vsak element seznama.
Kompleksnost prostora: Kompleksnost pomožnega prostora programa je O(n) ker ustvari nov seznam nizov z uporabo razumevanja seznama.
Pretvorite seznam v niz s funkcijo map().
Uporabi metoda map(). za preslikavo str (za pretvorbo elementov na seznamu v niz) z danim iteratorjem, seznamom. Kot je prikazano spodaj, je koda implementacija s funkcijo map().
Python3
# Python program to convert a list to string using list comprehension> > s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> # using list comprehension> listToStr>=> ' '>.join(>map>(>str>, s))> print>(listToStr)> |
>
>Izhod
I want 4 apples and 18 bananas>
Časovna zapletenost : The t Ime kompleksnosti te kode je O(n), kjer je n dolžina seznama s.
Kompleksnost prostora: Prostorska kompleksnost te kode je O(n), kjer je n dolžina seznama s.
Seznam v niz uporabo funkcijo naštevanja
Koda pretvori elemente seznama v en sam niz in jih loči s presledki. Ponavlja elemente s, vsak element pretvori v niz in jih združi z uporabo ločila presledka. Nastali niz se nato natisne.
Python3
s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)> |
>
>Izhod
I want 4 apples and 18 bananas>
Časovna zapletenost: O(n)
Pomožni prostor: O(n)
Seznam v niz z uporabo v operaterju
Koda ponovi vsak element i na seznamu s in ga natisne. End= določa, da mora biti za vsakim elementom namesto znaka za novo vrstico natisnjen presledek, zaradi česar so elementi natisnjeni v isti vrstici, ločeni s presledki.
Python3
s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)> |
>
>Izhod
Geeks for Geeks>
Časovna zapletenost: O(n)
Pomožni prostor: O(n)
Pretvori seznam v Uporaba metode functools.reduce
Koda uporablja funkcijo reduce() iz modul functools združiti elemente seznama s v en sam niz. Uporablja lambda funkcijo lambda a, b: a + + str(b) za zaporedno združevanje vsakega elementa b s prejšnjim rezultatom a. Nastali niz se nato natisne.
Python
from> functools>import> reduce> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> reduce>(>lambda> a, b : a>+> ' '> +>str>(b), s)> print>(listToStr)> |
>
>Izhod
I want 4 apples and 18 bananas>
Časovna zahtevnost: Časovna kompleksnost podane kode Python je O(n), kjer je n število elementov na vhodnem seznamu
Kompleksnost prostora: Prostorska kompleksnost kode je O(n), kjer je n število elementov v vhodnem seznamu s.
Seznam v niz z metodo str.format
Dodaten pristop za pretvorbo seznama v niz v Pythonu je uporaba metoda str.format . Ta metoda vam omogoča, da določite predlogo niza in nato izpolnite vrednosti ograd z elementi na seznamu.
Na primer:
Python3
lst>=> [>'Geeks'>,>'for'>,>'Geeks'>]> # Convert the list to a string using str.format> result>=> '{} {} {}'>.>format>(>*>lst)> print>(result)># Output: Geeks for Geeks> #This code is contributed by Edula Vinay Kumar Reddy> |
>
>Izhod
Geeks for Geeks>
Prednost tega pristopa je, da lahko natančno določite, kako naj bodo elementi na seznamu oblikovani, z uporabo ograd za oblikovanje v predlogi niza. Določite lahko na primer število decimalnih mest za števila s plavajočo vejico ali širino in poravnavo izhodnega niza.
25 c do k
Python3
lst>=> [>1.2345>,>'good'> ,>3.4567>]> # Convert the list to a string using str.format> result>=> '{:.2f} {} {:.2f}'>.>format>(>*>lst)> print>(result)># Output: 1.23 2.35 3.46> #This code is contributed by Edula Vinay Kumar Reddy> |
>
>Izhod
1.23 good 3.46>
Časovna zahtevnost: Časovna zahtevnost zgornjih pristopov bo odvisna od dolžine seznama. Na primer, pri 1. metodi ponavljamo po seznamu in dodajamo vsak element v niz, tako da bo časovna kompleksnost O(n), kjer je n dolžina seznama.
Podobno bo tudi časovna kompleksnost drugih metod O(n).
Kompleksnost prostora: Prostorska kompleksnost vseh zgornjih metod bo tudi O(n), saj ustvarjamo nov niz velikosti n za shranjevanje elementov seznama.
Pretvori seznam Python v niz z uporabo rekurzije
Koda rekurzivno pretvori seznam l v besedo niza z združevanjem njegovih elementov. Začne se od začetnega indeksa, doda trenutni element besedi in nadaljuje postopek, dokler ne doseže konca seznama. Nastali niz se nato natisne.
Python3
def> list_string(start, l, word):> >if> start>=>=> len>(l):> >return> word># base condition to return string> >word>+>=> str>(l[start])>+>' '> # concatenating element in list to word variable> >return> list_string(start>+>1>, l, word)># calling recursive function> # Driver code> l>=> [>'Geeks'>,>'for'>,>'Geeks'>]># defining list> print>(list_string(>0>, l, ''))> |
>
>Izhod
Geeks for Geeks>