logo

Programa Python per convertir una llista en cadena

Donada una llista, escriviu un programa Python per convertir la llista donada en una cadena. Hi ha diverses situacions que podem trobar quan es dóna una llista i la convertim en una cadena en Python.

Per exemple, conversió a una cadena d'una llista de cadenes o una llista d'enters.



Exemple

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

Programa per convertir una llista en una cadena

  • S'utilitza for loop
  • Utilitzant el mètode .join().
  • EN comprensió de la llista de cant
  • Utilitzant map() funció
  • Utilitzant la funció d'enumeració
  • S'utilitza a l'operador
  • Utilitzant el mètode functools.reduce
  • Utilitzant el mètode str.format
  • Ús de la recursència

Converteix la llista de Python en cadena utilitzant el bucle for

Itera per la llista utilitzant per bucle i seguiu afegint l'element per a cada índex en alguna cadena buida i així és com la cadena final que tindrem serà de tipus de dades de cadena

Python 3








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

>

>

Sortida

techcodeview.com>

Complexitat temporal: O(n)
Espai auxiliar: O(n)

Converteix la llista de Python en cadena utilitzant el mètode join().

Funció listToString(s) que pren una llista s com a entrada. Dins de la funció, s'inicialitza una cadena buida str1. El funció join(). després retorna el resultat d'unir els elements de la llista d'entrada s en una única cadena utilitzant el caràcter espai com a separador. El codi del controlador inicialitza una llista s, crida a la funció listToString(s) i imprimeix el resultat d'unir els elements de la llista amb espais.

Nota: però, què passa si la llista conté com a element tant una cadena com un enter? En aquests casos, el codi anterior no funcionarà. Hem de convertir-lo en cadena mentre l'afegim a cadena.

Python 3




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

>

>

Sortida

Geeks for Geeks>

Complexitat temporal: O(n)
Espai auxiliar: O(n)

Converteix una llista en una cadena utilitzant la comprensió de llista

Aquí anem a utilitzar comprensió de llista per convertir una llista en una cadena, ja que el codi següent mostra la implementació

Python 3




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

>

>

Sortida

I want 4 apples and 18 bananas>

Complexitat temporal : La complexitat temporal del programa és O(n), on n és la longitud de la llista s, perquè itera sobre cada element de la llista una vegada.
Complexitat espacial: La complexitat de l'espai auxiliar del programa és O(n) perquè crea una nova llista de cadenes utilitzant una comprensió de llista.

Converteix una llista en una cadena utilitzant la funció map().

Utilitzar el mètode map(). per mapejar str (per convertir elements de la llista en cadena) amb l'iterador donat, la llista. Com es mostra a continuació, el codi és la implementació mitjançant la funció map().

Python 3




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

>

>

Sortida

I want 4 apples and 18 bananas>

Complexitat temporal : El t La complexitat d'aquest codi és O(n), on n és la longitud de la llista s.
Complexitat espacial: La complexitat espacial d'aquest codi és O(n), on n és la longitud de la llista s.

Llista a cadena utilitzant funció d'enumeració

El codi converteix els elements de la llista en una única cadena, separant-los amb espais. Itera sobre els elements de s, converteix cada element en una cadena i els uneix mitjançant un separador d'espais. A continuació, s'imprimeix la cadena resultant.

Python 3




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

>

>

Sortida

I want 4 apples and 18 bananas>

Complexitat temporal: O(n)
Espai auxiliar: O(n)

Llista a una cadena utilitzant en operador

El codi itera sobre cada element i de la llista s i l'imprimeix. El final= especifica que s'ha d'imprimir un espai després de cada element en comptes d'un caràcter de nova línia, donant com a resultat que els elements s'imprimiran a la mateixa línia separats per espais.

Python 3




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

>

>

Sortida

Geeks for Geeks>

Complexitat temporal: O(n)
Espai auxiliar: O(n)

Convertir una llista a Utilitzant el mètode functools.reduce

El codi utilitza la funció reduce() del fitxer mòdul de functools per combinar els elements de la llista s en una sola cadena. Aplica la funció lambda lambda a, b: a + + str(b) per concatenar seqüencialment cada element b amb el resultat anterior a. A continuació, s'imprimeix la cadena resultant.

Python




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

>

>

Sortida

I want 4 apples and 18 bananas>

Complexitat temporal: La complexitat temporal del codi Python proporcionat és O(n), on n és el nombre d'elements de la llista d'entrada
Complexitat espacial: La complexitat espacial del codi és O(n), on n és el nombre d'elements de la llista d'entrada s.

Llista a cadena utilitzant el mètode str.format

Un enfocament addicional per convertir una llista en una cadena a Python és utilitzar el mètode str.format . Aquest mètode us permet especificar una plantilla de cadena i, a continuació, omplir els valors de marcador de posició amb els elements de la llista.

Per exemple:

Python 3




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>

>

>

Sortida

Geeks for Geeks>

Aquest enfocament té l'avantatge de poder especificar exactament com s'han de formatar els elements de la llista, utilitzant els marcadors de posició de format a la plantilla de cadena. Per exemple, podeu especificar el nombre de decimals per als números de coma flotant o l'amplada i l'alineació de la cadena de sortida.

què és maven

Python 3




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>

>

>

Sortida

1.23 good 3.46>

Complexitat temporal: La complexitat temporal dels enfocaments anteriors dependrà de la longitud de la llista. Per exemple, al mètode 1, estem iterant per la llista i afegint cada element a una cadena, de manera que la complexitat temporal serà O(n), on n és la longitud de la llista.
De la mateixa manera, la complexitat temporal d'altres mètodes també serà O(n).
Complexitat espacial: La complexitat espacial de tots els mètodes anteriors també serà O(n) ja que estem creant una nova cadena de mida n per emmagatzemar els elements de la llista.

Converteix la llista de Python en cadena utilitzant la recursència

El codi recursivament converteix una llista l en una paraula de cadena concatenant els seus elements. Comença des de l'índex inicial, afegeix l'element actual a la paraula i continua el procés fins arribar al final de la llista. A continuació, s'imprimeix la cadena resultant.

Python 3




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

>

>

Sortida

Geeks for Geeks>