Givet en liste, skriv et Python-program for at konvertere den givne liste til en streng. Der er forskellige situationer, vi kan støde på, når en liste er givet, og vi konverterer den til en streng i Python.
For eksempel konvertering til en streng fra en liste over strenge eller en liste over heltal.
Eksempel
Input: ['Geeks', 'for', 'Geeks'] Output : Geeks for Geeks Explanation: The Input is of list data type but the output is of string datatype>
Program til at konvertere en liste til en streng
- Bruges til loop
- Brug af .join() metoden
- I syngelisteforståelse
- Brug af map() fungere
- Brug af enumerate-funktion
- Bruger i operatør
- Bruger functools.reduce metoden
- Bruger str.format metode
- Brug af rekursion
Konverter Python List til String ved hjælp af for loop
Gentag listen ved hjælp af for sløjfe og fortsæt med at tilføje elementet for hvert indeks i en eller anden tom streng, og det er sådan den endelige streng, vi har, vil være af streng datatype
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))> |
>
>Produktion
techcodeview.com>
Tidskompleksitet: På)
Hjælpeplads: På)
Konverter Python List til String ved hjælp af join() metoden
Funktion listToString(s), der tager en liste s som input. Inde i funktionen initialiseres en tom streng str1. Det join() funktion returnerer derefter resultatet af at samle elementerne i inputlisten s til en enkelt streng ved at bruge mellemrumstegnet som en separator. Driverkoden initialiserer en liste s, kalder funktionen listToString(s) og udskriver resultatet af sammenføjning af listeelementerne med mellemrum.
Bemærk: Men hvad hvis listen indeholder både streng og heltal som element? I disse tilfælde fungerer ovenstående kode ikke. Vi skal konvertere den til streng, mens vi tilføjer til streng.
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))> |
>
>Produktion
Geeks for Geeks>
Tidskompleksitet: På)
Hjælpeplads: På)
Konverter en liste til en streng ved hjælp af listeforståelse
Her skal vi bruge listeforståelse at konvertere en liste til en streng, da nedenstående kode viser implementeringen
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)> |
>
>Produktion
I want 4 apples and 18 bananas>
Tidskompleksitet : Programmets tidskompleksitet er O(n), hvor n er længden af listen s, fordi den itererer over hvert element på listen én gang.
Rumkompleksitet: Programmets hjælperumskompleksitet er O(n) fordi den opretter en ny liste over strenge ved hjælp af en listeforståelse.
Konverter en liste til en streng ved hjælp af map()-funktionen
Brug map() metode til at kortlægge str (til at konvertere elementer i listen til streng) med den givne iterator, listen. Som vist nedenfor er koden implementeringen ved at bruge map()-funktionen
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)> |
>
>Produktion
I want 4 apples and 18 bananas>
Tidskompleksitet : Det t ime kompleksiteten af denne kode er O(n), hvor n er længden af listen s.
Rumkompleksitet: Rumkompleksiteten af denne kode er O(n), hvor n er længden af listen s.
Liste til streng ved brug af opregne funktion
Koden konverterer elementerne i listen til en enkelt streng og adskiller dem med mellemrum. Det itererer over elementerne i s, konverterer hvert element til en streng og forbinder dem ved hjælp af en mellemrumsseparator. Den resulterende streng udskrives derefter.
Python3
s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)> |
>
>Produktion
I want 4 apples and 18 bananas>
Tidskompleksitet: På)
Hjælpeplads: På)
Liste til en streng ved hjælp af i operatør
Koden itererer over hvert element i i listen s og udskriver det. End= angiver, at et mellemrum skal udskrives efter hvert element i stedet for et linjeskifttegn, hvilket resulterer i, at elementerne udskrives på den samme linje adskilt af mellemrum.
Python3
s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)> |
>
>Produktion
Geeks for Geeks>
Tidskompleksitet: På)
Hjælpeplads: På)
Konverter en liste til Bruger functools.reduce metoden
Koden bruger reduce()-funktionen fra functools modul at kombinere elementerne i listen s til en enkelt streng. Den anvender lambda-funktionen lambda a, b: a + + str(b) for sekventielt at sammenkæde hvert element b med det foregående resultat a. Den resulterende streng udskrives derefter.
Python
from> functools>import> reduce> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> reduce>(>lambda> a, b : a>+> ' '> +>str>(b), s)> print>(listToStr)> |
>
>Produktion
I want 4 apples and 18 bananas>
Tidskompleksitet: Tidskompleksiteten af den leverede Python-kode er O(n), hvor n er antallet af elementer i inputlisten
Rumkompleksitet: Kodens rumkompleksitet er O(n), hvor n er antallet af elementer i inputlisten s.
Liste til streng ved hjælp af str.format-metoden
En yderligere fremgangsmåde til at konvertere en liste til en streng i Python er at bruge str.format metode . Denne metode giver dig mulighed for at angive en strengskabelon og derefter udfylde pladsholderværdierne med elementerne på listen.
For eksempel:
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> |
>
>Produktion
Geeks for Geeks>
Denne tilgang har den fordel, at den er i stand til at specificere præcis, hvordan elementerne i listen skal formateres, ved at bruge formateringspladsholderne i strengskabelonen. For eksempel kan du angive antallet af decimaler for flydende kommatal eller bredden og justeringen af outputstrengen.
statisk java
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> |
>
>Produktion
1.23 good 3.46>
Tidskompleksitet: Tidskompleksiteten af ovenstående tilgange vil afhænge af listens længde. For eksempel, i metode 1, itererer vi gennem listen og tilføjer hvert element til en streng, så tidskompleksiteten vil være O(n), hvor n er længden af listen.
Tilsvarende vil tidskompleksiteten af andre metoder også være O(n).
Rumkompleksitet: Rumkompleksiteten af alle ovenstående metoder vil også være O(n), da vi opretter en ny streng af størrelse n til at gemme elementerne i listen.
Konverter Python List til String ved hjælp af rekursion
Koden rekursivt konverterer en liste l til et strengord ved at sammenkæde dets elementer. Den starter fra startindekset, føjer det aktuelle element til ordet og fortsætter processen, indtil den når slutningen af listen. Den resulterende streng udskrives derefter.
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, ''))> |
>
>Produktion
Geeks for Geeks>