logo

Program Python na konverziu zoznamu na reťazec

Ak máte zoznam, napíšte program Python na konverziu daného zoznamu na reťazec. Existujú rôzne situácie, s ktorými sa môžeme stretnúť, keď je zadaný zoznam a konvertujeme ho na reťazec v Pythone.

Napríklad prevod na reťazec zo zoznamu reťazcov alebo zo zoznamu celých čísel.



Príklad

  Input:   ['Geeks', 'for', 'Geeks']   Output  : Geeks for Geeks   Explanation:   The Input is of list data type but the output is of string datatype>

Program na konverziu zoznamu na reťazec

  • Použitie slučky for
  • Použitie metódy .join().
  • IN porozumenie zoznamu spevov
  • Použitie map() funkciu
  • Použitie funkcie enumerate
  • Použitie v operátorovi
  • Pomocou metódy functools.reduce
  • Pomocou metódy str.format
  • Použitie rekurzie

Preveďte zoznam Python na reťazec pomocou cyklu for

Iterujte zoznam pomocou pre slučku a priebežne pridávajte prvok pre každý index do nejakého prázdneho reťazca a takto bude konečný reťazec, ktorý máme, dátového typu string

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

>

>

Výkon

techcodeview.com>

Časová zložitosť: O(n)
Pomocný priestor: O(n)

Previesť zoznam Python na reťazec pomocou metódy join().

Funkcia listToString(s), ktorá berie ako vstup zoznam s. Vo vnútri funkcie sa inicializuje prázdny reťazec str1. The funkciu join(). potom vráti výsledok spojenia prvkov vstupného zoznamu s do jedného reťazca pomocou znaku medzery ako oddeľovača. Kód ovládača inicializuje zoznam s, zavolá funkciu listToString(s) a vypíše výsledok spojenia prvkov zoznamu s medzerami.

Poznámka: Čo ak však zoznam obsahuje ako prvok reťazec aj celé číslo? V týchto prípadoch nebude vyššie uvedený kód fungovať. Pri pridávaní do reťazca ho musíme previesť na reťazec.

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

>

>

Výkon

Geeks for Geeks>

Časová zložitosť: O(n)
Pomocný priestor: O(n)

Preveďte zoznam na reťazec pomocou porozumenia zoznamu

Tu budeme používať porozumenie zoznamu previesť zoznam na reťazec, ako nižšie uvedený kód ukazuje implementáciu

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

>

>

Výkon

I want 4 apples and 18 bananas>

Časová zložitosť : Časová zložitosť programu je O(n), kde n je dĺžka zoznamu s, pretože každý prvok zoznamu sa iteruje raz.
Zložitosť priestoru: Pomocná priestorová zložitosť programu je O(n) pretože vytvára nový zoznam reťazcov pomocou porozumenia zoznamu.

Skonvertujte zoznam na reťazec pomocou funkcie map().

Použi metóda map(). pre mapovanie str (pre prevod prvkov v zozname na reťazec) s daným iterátorom, zoznam. Ako je uvedené nižšie, kód je implementácia pomocou funkcie 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)>

>

>

Výkon

I want 4 apples and 18 bananas>

Časová zložitosť : The t ime zložitosť tohto kódu je O(n), kde n je dĺžka zoznamu s.
Zložitosť priestoru: Priestorová zložitosť tohto kódu je O(n), kde n je dĺžka zoznamu s.

List to String použitím enumeračná funkcia

Kód skonvertuje prvky zoznamu na jeden reťazec a oddelí ich medzerami. Iteruje prvky s, konvertuje každý prvok na reťazec a spája ich pomocou oddeľovača medzery. Výsledný reťazec sa potom vytlačí.

Python3




s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)>

>

>

Výkon

I want 4 apples and 18 bananas>

Časová zložitosť: O(n)
Pomocný priestor: O(n)

Zoznam do reťazca pomocou v operátorovi

Kód iteruje každý prvok i v zozname s a vytlačí ho. End= určuje, že za každým prvkom má byť vytlačená medzera namiesto znaku nového riadku, výsledkom čoho sú prvky vytlačené na rovnakom riadku oddelené medzerami.

Python3




s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)>

>

>

Výkon

Geeks for Geeks>

Časová zložitosť: O(n)
Pomocný priestor: O(n)

Previesť zoznam na Pomocou metódy functools.reduce

Kód používa funkciu Zníženie () z modul functools na spojenie prvkov zoznamu s do jedného reťazca. Aplikuje funkciu lambda lambda a, b: a + + str(b) na sekvenčné zreťazenie každého prvku b s predchádzajúcim výsledkom a. Výsledný reťazec sa potom vytlačí.

Python




from> functools>import> reduce> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> reduce>(>lambda> a, b : a>+> ' '> +>str>(b), s)> print>(listToStr)>

>

>

Výkon

I want 4 apples and 18 bananas>

Časová zložitosť: Časová zložitosť poskytnutého kódu Python je O(n), kde n je počet prvkov vo vstupnom zozname
Zložitosť priestoru: Priestorová zložitosť kódu je O(n), kde n je počet prvkov vo vstupnom zozname s.

List to String pomocou metódy str.format

Jedným z ďalších prístupov na konverziu zoznamu na reťazec v Pythone je použitie metóda str.format . Táto metóda vám umožňuje zadať šablónu reťazca a potom vyplniť zástupné hodnoty prvkami v zozname.

Napríklad:

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>

>

>

Výkon

Geeks for Geeks>

Tento prístup má tú výhodu, že je možné presne určiť, ako majú byť prvky v zozname formátované, pomocou formátovacích zástupných symbolov v šablóne reťazca. Môžete napríklad určiť počet desatinných miest pre čísla s pohyblivou rádovou čiarkou alebo šírku a zarovnanie výstupného reťazca.

java print

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>

>

>

Výkon

1.23 good 3.46>

Časová zložitosť: Časová zložitosť vyššie uvedených prístupov bude závisieť od dĺžky zoznamu. Napríklad v metóde 1 prechádzame zoznamom a pridávame každý prvok do reťazca, takže časová zložitosť bude O(n), kde n je dĺžka zoznamu.
Podobne časová zložitosť ostatných metód bude tiež O(n).
Zložitosť priestoru: Priestorová zložitosť všetkých vyššie uvedených metód bude tiež O(n), pretože vytvárame nový reťazec veľkosti n na uloženie prvkov zoznamu.

Previesť zoznam Python na reťazec pomocou rekurzie

Kód rekurzívne konvertuje zoznam l na reťazcové slovo zreťazením jeho prvkov. Začína od počiatočného indexu, pripája aktuálny prvok k slovu a pokračuje v procese až do konca zoznamu. Výsledný reťazec sa potom vytlačí.

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

>

>

Výkon

Geeks for Geeks>