Având o listă, scrieți un program Python pentru a converti lista dată într-un șir. Există diverse situații pe care le-am putea întâlni atunci când o listă este dată și o convertim într-un șir în Python.
De exemplu, conversia într-un șir dintr-o listă de șiruri sau o listă de numere întregi.
Exemplu
Input: ['Geeks', 'for', 'Geeks'] Output : Geeks for Geeks Explanation: The Input is of list data type but the output is of string datatype>
Program pentru a converti o listă într-un șir
- Folosind bucla for
- Folosind metoda .join().
- ÎN înțelegerea listei de cântece
- Folosind map() funcţie
- Folosind funcția de enumerare
- Utilizarea în operator
- Folosind metoda functools.reduce
- Folosind metoda str.format
- Utilizarea recursiunii
Convertiți lista Python în șir folosind bucla for
Iterează prin listă folosind pentru buclă și continuă să adaugi elementul pentru fiecare index într-un șir gol și așa va fi șirul final pe care îl avem de tipul de date șir
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))> |
>
>Ieșire
techcodeview.com>
Complexitatea timpului: Pe)
Spațiu auxiliar: Pe)
Convertiți lista Python în șir folosind metoda join().
Funcția listToString(s) care ia o listă ca intrare. În interiorul funcției, este inițializat un șir gol str1. The funcția join(). apoi returnează rezultatul unirii elementelor listei de intrare într-un singur șir folosind caracterul spațiu ca separator. Codul driverului inițializează o listă s, apelează funcția listToString(s) și tipărește rezultatul unirii elementelor listei cu spații.
Notă: Dar ce se întâmplă dacă lista conține atât șir, cât și întreg ca element? În aceste cazuri, codul de mai sus nu va funcționa. Trebuie să-l convertim în șir în timp ce adăugăm la șir.
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))> |
>
>Ieșire
Geeks for Geeks>
Complexitatea timpului: Pe)
Spațiu auxiliar: Pe)
Convertiți o listă într-un șir folosind înțelegerea listei
Aici vom folosi înțelegerea listei pentru a converti o listă într-un șir, așa cum codul de mai jos arată implementarea
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)> |
>
>Ieșire
I want 4 apples and 18 bananas>
Complexitatea timpului : Complexitatea de timp a programului este O(n), unde n este lungimea listei s, deoarece iterează peste fiecare element al listei o dată.
Complexitatea spațiului: Complexitatea spațiului auxiliar al programului este O(n) deoarece creează o nouă listă de șiruri folosind o listă de înțelegere.
Convertiți o listă într-un șir folosind funcția map().
Folosește metoda map(). pentru maparea str (pentru conversia elementelor din listă în șir) cu iteratorul dat, lista. După cum se arată mai jos, codul este implementarea prin utilizarea funcției 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)> |
>
>Ieșire
I want 4 apples and 18 bananas>
Complexitatea timpului : The t Complexitatea imediată a acestui cod este O(n), unde n este lungimea listei s.
Complexitatea spațiului: Complexitatea spațială a acestui cod este O(n), unde n este lungimea listei s.
List to String folosind funcția de enumerare
Codul convertește elementele listei într-un singur șir, separându-le cu spații. Iterează peste elementele lui s, convertește fiecare element într-un șir și le unește folosind un separator de spațiu. Șirul rezultat este apoi imprimat.
Python3
s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)> |
>
>Ieșire
I want 4 apples and 18 bananas>
Complexitatea timpului: Pe)
Spațiu auxiliar: Pe)
Listă într-un șir folosind în operator
Codul iterează peste fiecare element i din lista s și îl tipărește. Sfârșitul= specifică faptul că după fiecare element trebuie tipărit un spațiu în loc de un caracter de linie nouă, rezultând ca elementele să fie tipărite pe aceeași linie, separate prin spații.
Python3
s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)> |
>
>Ieșire
Geeks for Geeks>
Complexitatea timpului: Pe)
Spațiu auxiliar: Pe)
Convertiți o listă în Folosind metoda functools.reduce
Codul folosește funcția reduce() din modul functools pentru a combina elementele listei s într-un singur șir. Se aplică funcția lambda lambda a, b: a + + str(b) pentru a concatena secvenţial fiecare element b cu rezultatul anterior a. Șirul rezultat este apoi imprimat.
Piton
from> functools>import> reduce> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> reduce>(>lambda> a, b : a>+> ' '> +>str>(b), s)> print>(listToStr)> |
>
>Ieșire
I want 4 apples and 18 bananas>
Complexitatea timpului: Complexitatea temporală a codului Python furnizat este O(n), unde n este numărul de elemente din lista de intrare
Complexitatea spațiului: Complexitatea spațială a codului este O(n), unde n este numărul de elemente din lista de intrare s.
List to String folosind metoda str.format
O abordare suplimentară pentru a converti o listă într-un șir în Python este utilizarea metoda str.format . Această metodă vă permite să specificați un șablon șir și apoi să completați valorile substituentului cu elementele din listă.
De exemplu:
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> |
>
>Ieșire
Geeks for Geeks>
Această abordare are avantajul de a putea specifica exact modul în care elementele din listă trebuie formatate, prin utilizarea substituenților de formatare din șablonul șir. De exemplu, puteți specifica numărul de zecimale pentru numerele cu virgulă mobilă sau lățimea și alinierea șirului de ieșire.
centrarea imaginilor în css
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> |
>
>Ieșire
1.23 good 3.46>
Complexitatea timpului: Complexitatea în timp a abordărilor de mai sus va depinde de lungimea listei. De exemplu, în metoda 1, repetăm lista și adăugăm fiecare element într-un șir, astfel încât complexitatea timpului va fi O(n), unde n este lungimea listei.
În mod similar, complexitatea în timp a altor metode va fi, de asemenea, O(n).
Complexitatea spațiului: Complexitatea spațială a tuturor metodelor de mai sus va fi, de asemenea, O(n), deoarece creăm un șir nou de dimensiunea n pentru a stoca elementele listei.
Convertiți lista Python în șir folosind recursiunea
Codul recursiv convertește o listă l într-un cuvânt șir prin concatenarea elementelor sale. Începe de la indexul de început, adaugă elementul curent la cuvânt și continuă procesul până la sfârșitul listei. Șirul rezultat este apoi imprimat.
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, ''))> |
>
>Ieșire
Geeks for Geeks>