Givet en lista, skriv ett Python-program för att konvertera den givna listan till en sträng. Det finns olika situationer vi kan stöta på när en lista ges och vi konverterar den till en sträng i Python.
Till exempel, konvertering till en sträng från en lista med strängar eller en lista med heltal.
Exempel
Input: ['Geeks', 'for', 'Geeks'] Output : Geeks for Geeks Explanation: The Input is of list data type but the output is of string datatype>
Program för att konvertera en lista till en sträng
- Används för loop
- Använder metoden .join().
- I sjunga listförståelse
- Använder map() fungera
- Använder uppräkningsfunktionen
- Använder i operatör
- Använder metoden functools.reduce
- Använder metoden str.format
- Använda Rekursion
Konvertera Python List till String med för loop
Iterera genom listan med hjälp av för slinga och fortsätt lägga till elementet för varje index i någon tom sträng och det är så den sista strängen vi har kommer att vara av strängdatatyp
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>
Tidskomplexitet: På)
Hjälputrymme: På)
Konvertera Python List till String använder metoden join().
Funktion listToString(s) som tar en lista s som indata. Inuti funktionen initieras en tom sträng str1. De join() funktion returnerar sedan resultatet av att sammanfoga elementen i inmatningslistan s till en enda sträng med blanksteg som avgränsare. Drivrutinskoden initierar en lista, anropar funktionen listToString(s) och skriver ut resultatet av att sammanfoga listelementen med mellanslag.
Obs: Men vad händer om listan innehåller både sträng och heltal som element? I dessa fall fungerar inte ovanstående kod. Vi måste konvertera den till sträng medan vi lägger till strängen.
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>
Tidskomplexitet: På)
Hjälputrymme: På)
Konvertera en lista till en sträng med hjälp av listförståelse
Här ska vi använda listförståelse för att konvertera en lista till en sträng eftersom koden nedan visar 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>
Tidskomplexitet : Programmets tidskomplexitet är O(n), där n är längden på listan s, eftersom den itererar över varje element i listan en gång.
Utrymmes komplexitet: Hjälputrymmeskomplexiteten för programmet är O(n) eftersom det skapar en ny lista med strängar med hjälp av en listförståelse.
Konvertera en lista till en sträng med map()-funktionen
Använd map() metod för mappning av str (för att konvertera element i listan till sträng) med den givna iteratorn, listan. Som visas nedan är koden implementeringen genom att använda 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>
Tidskomplexitet : Den t ime komplexiteten för denna kod är O(n), där n är längden på listan s.
Utrymmes komplexitet: Rymdkomplexiteten för denna kod är O(n), där n är längden på listan s.
Lista till String använder sig av räkna upp funktionen
Koden konverterar elementen i listan till en enda sträng och separerar dem med mellanslag. Den itererar över elementen i s, konverterar varje element till en sträng och sammanfogar dem med hjälp av en mellanslagsavgränsare. Den resulterande strängen skrivs sedan ut.
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>
Tidskomplexitet: På)
Hjälputrymme: På)
Lista till en sträng med hjälp av i operatör
Koden itererar över varje element i i listan och skriver ut det. End= anger att ett mellanslag ska skrivas ut efter varje element istället för ett nyradstecken, vilket resulterar i att elementen skrivs ut på samma rad avgränsade med mellanslag.
Python3
s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)> |
>
>Produktion
Geeks for Geeks>
Tidskomplexitet: På)
Hjälputrymme: På)
Konvertera en lista till Använder metoden functools.reduce
Koden använder reduce()-funktionen från functools modul för att kombinera elementen i listan s till en enda sträng. Den tillämpar lambdafunktionen lambda a, b: a + + str(b) för att sekventiellt sammanfoga varje element b med föregående resultat a. Den resulterande strängen skrivs sedan ut.
Pytonorm
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>
Tidskomplexitet: Tidskomplexiteten för den tillhandahållna Python-koden är O(n), där n är antalet element i inmatningslistan
Utrymmes komplexitet: Kodens rymdkomplexitet är O(n), där n är antalet element i inmatningslistan s.
Lista till sträng med metoden str.format
Ett ytterligare tillvägagångssätt för att konvertera en lista till en sträng i Python är att använda str.format metod . Med den här metoden kan du ange en strängmall och sedan fylla i platshållarvärdena med elementen i listan.
Till exempel:
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>
Detta tillvägagångssätt har fördelen av att kunna specificera exakt hur elementen i listan ska formateras, genom att använda formateringsplatshållarna i strängmallen. Du kan till exempel ange antalet decimaler för flyttal, eller bredden och justeringen av utdatasträngen.
strängdelning c++
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>
Tidskomplexitet: Tidskomplexiteten för ovanstående tillvägagångssätt beror på listans längd. Till exempel, i metod 1, itererar vi genom listan och lägger till varje element till en sträng, så tidskomplexiteten blir O(n), där n är längden på listan.
På liknande sätt kommer tidskomplexiteten för andra metoder också att vara O(n).
Utrymmes komplexitet: Utrymmeskomplexiteten för alla ovanstående metoder kommer också att vara O(n) eftersom vi skapar en ny sträng av storlek n för att lagra elementen i listan.
Konvertera Python List till String med hjälp av rekursion
Koden rekursivt konverterar en lista l till ett strängord genom att sammanfoga dess element. Det börjar från startindexet, lägger till det aktuella elementet till ordet och fortsätter processen tills slutet av listan når. Den resulterande strängen skrivs sedan ut.
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>