logo

„Python“ programa, skirta konvertuoti sąrašą į eilutę

Pateikę sąrašą, parašykite Python programą, kad pateiktą sąrašą konvertuotumėte į eilutę. Yra įvairių situacijų, su kuriomis galime susidurti, kai pateikiamas sąrašas ir mes konvertuojame jį į eilutę „Python“.

Pavyzdžiui, konvertavimas į eilutę iš eilučių sąrašo arba sveikųjų skaičių sąrašo.



Pavyzdys

  Input:   ['Geeks', 'for', 'Geeks']   Output  : Geeks for Geeks   Explanation:   The Input is of list data type but the output is of string datatype>

Programa, skirta konvertuoti sąrašą į eilutę

  • Naudojant kilpą
  • Naudojant .join() metodą
  • IN dainų sąrašo supratimas
  • Naudojant žemėlapį () funkcija
  • Surašymo funkcijos naudojimas
  • Naudojimas operatoriuje
  • Naudojant functools.sumažinti metodą
  • Naudojant str.format metodą
  • Rekursijos naudojimas

Konvertuokite Python sąrašą į eilutę naudodami for ciklus

Pakartokite sąrašą naudodami už kilpą ir toliau pridėkite elementą kiekvienam indeksui į tuščią eilutę ir taip paskutinė mūsų turima eilutė bus eilutės duomenų tipo

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))>

>

>

Išvestis

techcodeview.com>

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Konvertuoti Python sąrašą į eilutę naudojant prisijungimo () metodą

Funkcija listToString (-ės), kuri kaip įvestį naudoja sąrašą s. Funkcijos viduje inicijuojama tuščia eilutė str1. The join() funkcija tada grąžina įvesties sąrašo s elementų sujungimo į vieną eilutę rezultatą, naudojant tarpo simbolį kaip skyriklį. Tvarkyklės kodas inicijuoja sąrašą s, iškviečia funkciją listToString(s) ir išspausdina sąrašo elementų sujungimo tarpais rezultatą.

Pastaba: O kas, jei sąraše yra ir eilutė, ir sveikasis skaičius? Tokiais atvejais aukščiau pateiktas kodas neveiks. Pridedant prie eilutės, turime ją konvertuoti į eilutę.

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))>

>

>

Išvestis

Geeks for Geeks>

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Konvertuokite sąrašą į eilutę naudodami sąrašo supratimą

Čia mes ketiname naudoti sąrašo supratimas Norėdami konvertuoti sąrašą į eilutę, kaip toliau pateiktas kodas rodo įgyvendinimą

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)>

>

>

Išvestis

I want 4 apples and 18 bananas>

Laiko sudėtingumas : Programos laiko sudėtingumas yra O(n), kur n yra sąrašo s ilgis, nes ji kartoja kiekvieną sąrašo elementą vieną kartą.
Erdvės sudėtingumas: Programos pagalbinės erdvės sudėtingumas yra O(n) nes jis sukuria naują eilučių sąrašą naudodamas sąrašo supratimą.

Konvertuokite sąrašą į eilutę naudodami funkciją map().

Naudoti map() metodas susiejimo str (sąrašo elementų konvertavimui į eilutę) su duotu iteratoriumi, sąrašas. Kaip parodyta žemiau, kodas yra įgyvendinamas naudojant funkciją 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)>

>

>

Išvestis

I want 4 apples and 18 bananas>

Laiko sudėtingumas : t šio kodo ime sudėtingumas yra O(n), kur n yra sąrašo ilgis s.
Erdvės sudėtingumas: Šio kodo erdvės sudėtingumas yra O(n), kur n yra sąrašo ilgis s.

Sąrašas į eilutę naudojant išvardinti funkciją

Kodas paverčia sąrašo elementus į vieną eilutę, atskirdamas juos tarpais. Jis kartoja s elementus, kiekvieną elementą paverčia eilute ir sujungia juos naudodamas tarpo skyriklį. Tada atspausdinama gauta eilutė.

Python3




s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)>

>

>

Išvestis

I want 4 apples and 18 bananas>

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Sąrašas į eilutę naudojant operatore

Kodas kartojasi per kiekvieną elementą i sąraše s ir jį išspausdina. End= nurodo, kad po kiekvieno elemento turi būti spausdinamas tarpas, o ne naujos eilutės simbolis, todėl elementai bus spausdinami toje pačioje eilutėje, atskiriant tarpais.

Python3




s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)>

>

>

Išvestis

Geeks for Geeks>

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n)

Konvertuoti sąrašą į Naudojant functools.sumažinti metodą

Kodas naudoja redukcijos () funkciją iš Functools modulis kad sąrašo s elementai būtų sujungti į vieną eilutę. Taikoma lambda funkcija lambda a, b: a + + str(b), kad kiekvieną elementą b nuosekliai sujungtų su ankstesniu rezultatu a. Tada atspausdinama gauta eilutė.

Python




from> functools>import> reduce> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> reduce>(>lambda> a, b : a>+> ' '> +>str>(b), s)> print>(listToStr)>

>

>

Išvestis

I want 4 apples and 18 bananas>

Laiko sudėtingumas: Pateikto Python kodo laiko sudėtingumas yra O(n), kur n yra elementų skaičius įvesties sąraše
Erdvės sudėtingumas: Kodo erdvės sudėtingumas yra O(n), kur n yra elementų skaičius įvesties sąraše s.

Sąrašas į eilutę naudojant str.format metodą

Kitas būdas konvertuoti sąrašą į eilutę Python yra naudoti str.formato metodas . Šis metodas leidžia nurodyti eilutės šabloną, o tada užpildyti rezervuotos vietos reikšmes sąrašo elementais.

Pavyzdžiui:

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>

>

>

Išvestis

Geeks for Geeks>

Šio metodo pranašumas yra tas, kad naudojant eilutės šablono formatavimo vietos rezervavimo ženklus galima tiksliai nurodyti, kaip turėtų būti formatuojami sąrašo elementai. Pavyzdžiui, galite nurodyti slankaus kablelio skaičių po kablelio skaičių arba išvesties eilutės plotį ir lygiavimą.

datų skirtumas Excel

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>

>

>

Išvestis

1.23 good 3.46>

Laiko sudėtingumas: Pirmiau minėtų metodų sudėtingumas laikui bėgant priklausys nuo sąrašo ilgio. Pavyzdžiui, 1 metodu kartojame sąrašą ir kiekvieną elementą pridedame prie eilutės, todėl laiko sudėtingumas bus O(n), kur n yra sąrašo ilgis.
Panašiai kitų metodų laiko sudėtingumas taip pat bus O (n).
Erdvės sudėtingumas: Visų pirmiau minėtų metodų erdvės sudėtingumas taip pat bus O(n), nes kuriame naują n dydžio eilutę sąrašo elementams saugoti.

Konvertuoti Python sąrašą į eilutę naudojant Recursiją

Kodas rekursyviai paverčia sąrašą l į eilutės žodį, sujungdamas jo elementus. Pradedama nuo pradžios rodyklės, prie žodžio prideda esamą elementą ir tęsia procesą iki sąrašo pabaigos. Tada atspausdinama gauta eilutė.

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, ''))>

>

>

Išvestis

Geeks for Geeks>