Dotā sarakstā uzrakstiet Python programmu, lai pārvērstu doto sarakstu par virkni. Ir dažādas situācijas, ar kurām mēs varam saskarties, kad tiek sniegts saraksts un mēs to pārvēršam par virkni programmā Python.
Piemēram, pārveidošana par virkni no virkņu saraksta vai veselu skaitļu saraksta.
Piemērs
Input: ['Geeks', 'for', 'Geeks'] Output : Geeks for Geeks Explanation: The Input is of list data type but the output is of string datatype>
Programma, lai pārvērstu sarakstu par virkni
- Izmantojot cilpu
- Izmantojot .join() metodi
- IN dziedāšanas saraksta izpratne
- Izmantojot karti () funkciju
- Uzskaitīšanas funkcijas izmantošana
- Izmantošana operatorā
- Izmantojot functools.reduce metodi
- Izmantojot str.format metodi
- Rekursijas izmantošana
Konvertējiet Python sarakstu par virkni, izmantojot cilpu
Atkārtojiet sarakstu, izmantojot cilpai un turpiniet pievienot elementu katram rādītājam kādā tukšā virknē, un tādā veidā mūsu galīgā virkne būs virknes datu tipa
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))> |
>
>Izvade
techcodeview.com>
Laika sarežģītība: O(n)
Palīgtelpa: O(n)
Pārvērst Python sarakstu par virkni izmantojot join() metodi
Funkcija listToString(s), kas izmanto sarakstu s kā ievadi. Funkcijas iekšpusē tiek inicializēta tukša virkne str1. The join() funkcija pēc tam atgriež rezultātu, kas iegūts, apvienojot ievades saraksta s elementus vienā virknē, izmantojot atstarpes rakstzīmi kā atdalītāju. Draivera kods inicializē sarakstu s, izsauc funkciju listToString(s) un izdrukā rezultātu, savienojot saraksta elementus ar atstarpēm.
Piezīme. Bet ko darīt, ja saraksta elements satur gan virkni, gan veselu skaitli? Šādos gadījumos iepriekš minētais kods nedarbosies. Mums tas ir jāpārvērš par virkni, vienlaikus pievienojot virknei.
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))> |
>
>Izvade
Geeks for Geeks>
Laika sarežģītība: O(n)
Palīgtelpa: O(n)
Konvertējiet sarakstu par virkni, izmantojot saraksta izpratni
Šeit mēs izmantosim saraksta izpratne lai pārvērstu sarakstu par virkni, kā tālāk redzamais kods parāda ieviešanu
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)> |
>
>Izvade
I want 4 apples and 18 bananas>
Laika sarežģītība : Programmas laika sarežģītība ir O(n), kur n ir saraksta s garums, jo tā atkārto katru saraksta elementu vienu reizi.
Telpas sarežģītība: Programmas palīgtelpas sarežģītība ir O(n) jo tas izveido jaunu virkņu sarakstu, izmantojot saraksta izpratni.
Pārvērtiet sarakstu par virkni, izmantojot funkciju map().
Izmantojiet map() metode kartēšanai str (sarakstā esošo elementu konvertēšanai uz virkni) ar doto iteratoru, saraksts. Kā parādīts zemāk, kods ir ieviests, izmantojot funkciju 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)> |
>
>Izvade
I want 4 apples and 18 bananas>
Laika sarežģītība : t šī koda ime sarežģītība ir O(n), kur n ir saraksta garums s.
Telpas sarežģītība: Šī koda telpas sarežģītība ir O(n), kur n ir saraksta garums s.
Saraksts uz virkni izmantojot uzskaitīt funkciju
Kods pārvērš saraksta elementus vienā virknē, atdalot tos ar atstarpēm. Tas atkārto s elementus, pārvērš katru elementu par virkni un savieno tos, izmantojot atstarpes atdalītāju. Pēc tam tiek izdrukāta iegūtā virkne.
Python3
s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)> |
>
>Izvade
I want 4 apples and 18 bananas>
Laika sarežģītība: O(n)
Palīgtelpa: O(n)
Saraksta uz virkni, izmantojot operatorā
Kods atkārtojas pār katru elementu i sarakstā s un izdrukā to. End= norāda, ka aiz katra elementa ir jādrukā atstarpe, nevis jaunas rindiņas rakstzīme, kā rezultātā elementi tiek drukāti tajā pašā rindā, atdalot tos ar atstarpēm.
Python3
s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)> |
>
>Izvade
Geeks for Geeks>
Laika sarežģītība: O(n)
Palīgtelpa: O(n)
Konvertēt sarakstu uz Izmantojot functools.reduce metodi
Kods izmanto redukcijas () funkciju no funkcionālo rīku modulis lai apvienotu saraksta s elementus vienā virknē. Tas izmanto lambda funkciju lambda a, b: a + + str(b), lai secīgi savienotu katru elementu b ar iepriekšējo rezultātu a. Pēc tam tiek izdrukāta iegūtā virkne.
Python
from> functools>import> reduce> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> reduce>(>lambda> a, b : a>+> ' '> +>str>(b), s)> print>(listToStr)> |
>
>Izvade
I want 4 apples and 18 bananas>
Laika sarežģītība: Norādītā Python koda laika sarežģītība ir O(n), kur n ir elementu skaits ievades sarakstā
Telpas sarežģītība: Koda telpas sarežģītība ir O(n), kur n ir elementu skaits ievades sarakstā s.
Saraksta uz virkni, izmantojot str.format metodi
Viena papildu pieeja, lai pārvērstu sarakstu par virkni programmā Python, ir izmantot str.format metode . Šī metode ļauj norādīt virknes veidni un pēc tam aizpildīt vietturu vērtības ar saraksta elementiem.
Piemēram:
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> |
>
>Izvade
Geeks for Geeks>
Šīs pieejas priekšrocība ir iespēja precīzi norādīt, kā saraksta elementi ir jāformatē, izmantojot formatēšanas vietturus virknes veidnē. Piemēram, varat norādīt peldošā komata skaitļu decimāldaļu skaitu vai izvades virknes platumu un līdzinājumu.
kas ir maven
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> |
>
>Izvade
1.23 good 3.46>
Laika sarežģītība: Iepriekš minēto pieeju laika sarežģītība būs atkarīga no saraksta garuma. Piemēram, 1. metodē mēs atkārtojam sarakstu un katru elementu pievienojam virknei, tāpēc laika sarežģītība būs O(n), kur n ir saraksta garums.
Tāpat arī citu metožu laika sarežģītība būs O(n).
Telpas sarežģītība: Visu iepriekš minēto metožu telpas sarežģītība arī būs O(n), jo mēs izveidojam jaunu n izmēra virkni, lai saglabātu saraksta elementus.
Pārvērst Python sarakstu par virkni izmantojot Recursiju
Kods rekursīvi pārvērš sarakstu l par virknes vārdu, savienojot tā elementus. Tas sākas ar sākuma indeksu, vārdam pievieno pašreizējo elementu un turpina procesu, līdz sasniedz saraksta beigas. Pēc tam tiek izdrukāta iegūtā virkne.
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, ''))> |
>
>Izvade
Geeks for Geeks>