Schrijf, gegeven een lijst, een Python-programma om de gegeven lijst naar een string te converteren. Er zijn verschillende situaties die we kunnen tegenkomen wanneer een lijst wordt opgegeven en we deze in Python naar een string converteren.
Bijvoorbeeld conversie naar een string uit een lijst met strings of een lijst met gehele getallen.
Voorbeeld
Input: ['Geeks', 'for', 'Geeks'] Output : Geeks for Geeks Explanation: The Input is of list data type but the output is of string datatype>
Programma om een lijst naar een string te converteren
- For-lus gebruiken
- Met behulp van de .join()-methode
- IN begrip van de zanglijst
- Kaart() gebruiken functie
- Met behulp van de opsomfunctie
- Gebruik in operator
- Met behulp van de functools.reduce-methode
- Met behulp van de str.format-methode
- Recursie gebruiken
Converteer Python-lijst naar String met behulp van for-lus
Doorloop de lijst met behulp van for loop en blijf het element toevoegen voor elke index in een lege string en zo zal de laatste string die we hebben van het string-datatype zijn
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))> |
>
>Uitvoer
techcodeview.com>
Tijdcomplexiteit: Op)
Hulpruimte: Op)
Converteer Python-lijst naar String met behulp van de join()-methode
Functie listToString(s) die een lijst s als invoer accepteert. Binnen de functie wordt een lege string str1 geïnitialiseerd. De join()-functie retourneert vervolgens het resultaat van het samenvoegen van de elementen van de invoerlijst s tot een enkele string, waarbij de spatie als scheidingsteken wordt gebruikt. De stuurprogrammacode initialiseert een lijst s, roept de functie listToString(s) aan en drukt het resultaat af van het samenvoegen van de lijstelementen met spaties.
Opmerking: Maar wat als de lijst zowel string als geheel getal als element bevat? In die gevallen werkt de bovenstaande code niet. We moeten het naar string converteren terwijl we het aan string toevoegen.
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))> |
>
>Uitvoer
Geeks for Geeks>
Tijdcomplexiteit: Op)
Hulpruimte: Op)
Converteer een lijst naar een tekenreeks met behulp van lijstbegrip
Hier gaan we gebruiken lijst begrip om een lijst naar een string te converteren, zoals de onderstaande code de implementatie laat zien
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)> |
>
>Uitvoer
I want 4 apples and 18 bananas>
Tijdcomplexiteit : De tijdscomplexiteit van het programma is O(n), waarbij n de lengte van de lijst s is, omdat het elk element van de lijst één keer herhaalt.
Ruimtecomplexiteit: De hulpruimtecomplexiteit van het programma is O(n) omdat het een nieuwe lijst met tekenreeksen creëert met behulp van lijstbegrip.
Converteer een lijst naar een string met behulp van de map() functie
Gebruik de kaart() methode voor het in kaart brengen van str (voor het converteren van elementen in de lijst naar string) met de gegeven iterator, de lijst. Zoals onderstaande code laat zien, is de implementatie met behulp van de map() functie
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)> |
>
>Uitvoer
I want 4 apples and 18 bananas>
Tijdcomplexiteit : De T De ime-complexiteit van deze code is O(n), waarbij n de lengte van de lijst s is.
Ruimtecomplexiteit: De ruimtecomplexiteit van deze code is O(n), waarbij n de lengte van de lijst s is.
Lijst naar tekenreeks gebruik makend van functie opsommen
De code converteert de elementen van de lijst naar één enkele string, waarbij ze van elkaar worden gescheiden door spaties. Het herhaalt de elementen van s, converteert elk element naar een string en voegt ze samen met behulp van een spatiescheidingsteken. De resulterende string wordt vervolgens afgedrukt.
Python3
s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)> |
>
>Uitvoer
I want 4 apples and 18 bananas>
Tijdcomplexiteit: Op)
Hulpruimte: Op)
Vermeld een string met behulp van in exploitant
De code herhaalt elk element i in de lijst s en drukt het af. De end= geeft aan dat er na elk element een spatie moet worden afgedrukt in plaats van een regeleindeteken, waardoor de elementen op dezelfde regel worden afgedrukt, gescheiden door spaties.
Python3
s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)> |
>
>Uitvoer
Geeks for Geeks>
Tijdcomplexiteit: Op)
Hulpruimte: Op)
Converteer een lijst naar Met behulp van de functools.reduce-methode
De code gebruikt de functie reduce() uit de functools-module om de elementen van de lijst te combineren in één enkele string. Het past de lambda-functie lambda a, b: a ++ str(b) toe om elk element b opeenvolgend aan elkaar te koppelen met het vorige resultaat a. De resulterende string wordt vervolgens afgedrukt.
Python
from> functools>import> reduce> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> reduce>(>lambda> a, b : a>+> ' '> +>str>(b), s)> print>(listToStr)> |
>
>Uitvoer
I want 4 apples and 18 bananas>
Tijdcomplexiteit: De tijdscomplexiteit van de opgegeven Python-code is O(n), waarbij n het aantal elementen in de invoerlijst is
Ruimtecomplexiteit: De ruimtecomplexiteit van de code is O(n), waarbij n het aantal elementen in de invoerlijst s is.
Lijst naar String met behulp van de str.format-methode
Een extra benadering om een lijst naar een string in Python te converteren is het gebruik van de str.format-methode . Met deze methode kunt u een tekenreekssjabloon opgeven en vervolgens de waarden van de tijdelijke aanduiding invullen met de elementen in de lijst.
Bijvoorbeeld:
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> |
>
>Uitvoer
Geeks for Geeks>
Deze aanpak heeft het voordeel dat je precies kunt specificeren hoe de elementen in de lijst moeten worden opgemaakt, door gebruik te maken van de tijdelijke aanduidingen voor opmaak in de tekenreekssjabloon. U kunt bijvoorbeeld het aantal decimalen voor getallen met drijvende komma opgeven, of de breedte en uitlijning van de uitvoerreeks.
constructeurs in 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> |
>
>Uitvoer
1.23 good 3.46>
Tijdcomplexiteit: De tijdscomplexiteit van de bovenstaande benaderingen zal afhangen van de lengte van de lijst. In methode 1 doorlopen we bijvoorbeeld de lijst en voegen we elk element toe aan een string, zodat de tijdscomplexiteit O(n) is, waarbij n de lengte van de lijst is.
Op dezelfde manier zal de tijdscomplexiteit van andere methoden ook O(n) zijn.
Ruimtecomplexiteit: De ruimtecomplexiteit van alle bovenstaande methoden zal ook O(n) zijn, aangezien we een nieuwe reeks van grootte n maken om de elementen van de lijst op te slaan.
Converteer Python-lijst naar String met behulp van recursie
De code recursief converteert een lijst l naar een stringwoord door de elementen ervan samen te voegen. Het begint bij de startindex, voegt het huidige element aan het woord toe en vervolgt het proces tot het einde van de lijst wordt bereikt. De resulterende string wordt vervolgens afgedrukt.
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, ''))> |
>
>Uitvoer
Geeks for Geeks>