logo

Python-ohjelma listan muuntamiseksi merkkijonoksi

Anna luettelo, kirjoita Python-ohjelma, joka muuntaa annetun luettelon merkkijonoksi. Saatamme kohdata erilaisia ​​tilanteita, kun luettelo annetaan ja muunnamme sen merkkijonoksi Pythonissa.

Esimerkiksi muuntaminen merkkijonoksi merkkijonoluettelosta tai kokonaislukuluettelosta.



Esimerkki

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

Ohjelma, joka muuntaa luettelon merkkijonoksi

  • Silmukan käyttö
  • Käytä .join()-metodia
  • SISÄÄN laululistan ymmärtäminen
  • Käyttämällä karttaa() toiminto
  • Luettelofunktion käyttö
  • Käyttö operaattorissa
  • Functools.reduce-menetelmällä
  • Str.format-menetelmällä
  • Rekursion käyttö

Muunna Python-lista merkkijonoksi käyttämällä for-silmukkaa

Toista luetteloa käyttämällä silmukalle ja jatka elementin lisäämistä jokaiselle indeksille johonkin tyhjään merkkijonoon ja näin lopullinen merkkijono meillä on merkkijonotietotyyppiä

Python 3








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

>

>

Lähtö

techcodeview.com>

Aika monimutkaisuus: Päällä)
Aputila: Päällä)

Muunna Python-lista merkkijonoksi käyttämällä join()-menetelmää

Funktio listToString(s), joka ottaa listan s syötteenä. Funktion sisällä alustetaan tyhjä merkkijono str1. The join()-funktio sitten palauttaa tuloksen, kun syöteluettelon s elementit yhdistetään yhdeksi merkkijonoksi käyttämällä välilyöntiä erottimena. Ohjainkoodi alustaa listan s, kutsuu funktion listToString(s) ja tulostaa tuloksen, kun listaelementit on liitetty välilyönneillä.

Huomaa: Mutta entä jos luettelo sisältää elementtinä sekä merkkijonon että kokonaisluvun? Näissä tapauksissa yllä oleva koodi ei toimi. Meidän on muutettava se merkkijonoksi lisättäessä merkkijonoa.

Python 3




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

>

>

Lähtö

Geeks for Geeks>

Aika monimutkaisuus: Päällä)
Aputila: Päällä)

Muunna lista merkkijonoksi käyttämällä luettelon ymmärtämistä

Tässä aiomme käyttää listan ymmärtäminen muuntaaksesi luettelon merkkijonoksi, kuten alla oleva koodi näyttää toteutuksen

Python 3




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

>

>

Lähtö

I want 4 apples and 18 bananas>

Aika monimutkaisuus : Ohjelman aikamonimutkaisuus on O(n), missä n on listan pituus s, koska se toistuu listan jokaisen elementin yli kerran.
Avaruuden monimutkaisuus: Ohjelman aputilan monimutkaisuus on O(n) koska se luo uuden luettelon merkkijonoista käyttämällä luettelon ymmärtämistä.

Muunna lista merkkijonoksi käyttämällä map()-funktiota

Käytä map() -menetelmä yhdistämiseen str (luettelon elementtien muuntamiseen merkkijonoksi) annetulla iteraattorilla, lista. Kuten alla näkyy, koodi toteutetaan käyttämällä map()-funktiota

Python 3




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

>

>

Lähtö

I want 4 apples and 18 bananas>

Aika monimutkaisuus : t Tämän koodin ime monimutkaisuus on O(n), missä n on listan s pituus.
Avaruuden monimutkaisuus: Tämän koodin avaruuden monimutkaisuus on O(n), missä n on listan s pituus.

Listaa merkkijonoon käyttämällä luetella toimintoa

Koodi muuntaa luettelon elementit yhdeksi merkkijonoksi erottamalla ne välilyönneillä. Se toistuu s:n elementtien yli, muuntaa jokaisen elementin merkkijonoksi ja yhdistää ne välilyöntierottimella. Tuloksena oleva merkkijono tulostetaan sitten.

Python 3




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

>

>

Lähtö

I want 4 apples and 18 bananas>

Aika monimutkaisuus: Päällä)
Aputila: Päällä)

Listaa merkkijonoon käyttämällä operaattorissa

Koodi toistuu luettelon jokaisen elementin i yli ja tulostaa sen. End= määrittää, että jokaisen elementin jälkeen on tulostettava välilyönti rivinvaihtomerkin sijaan, jolloin elementit tulostetaan samalle riville välilyönnillä erotettuina.

Python 3




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

>

>

Lähtö

Geeks for Geeks>

Aika monimutkaisuus: Päällä)
Aputila: Päällä)

Muunna luettelo muotoon Functools.reduce-menetelmällä

Koodi käyttää vähennysfunktiota () alkaen Functools-moduuli yhdistää listan s elementit yhdeksi merkkijonoksi. Se käyttää lambda-funktiota lambda a, b: a + + str(b) ketjuttaakseen jokaisen elementin b peräkkäin edellisen tuloksen a kanssa. Tuloksena oleva merkkijono tulostetaan sitten.

Python




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

>

>

Lähtö

I want 4 apples and 18 bananas>

Aika monimutkaisuus: Annetun Python-koodin aikamonimutkaisuus on O(n), missä n on syöttöluettelon elementtien määrä
Avaruuden monimutkaisuus: Koodin tilamonimutkaisuus on O(n), missä n on syöteluettelon s elementtien lukumäärä.

Listaa merkkijonoon str.format-menetelmällä

Yksi lisätapa listan muuntamiseen merkkijonoksi Pythonissa on käyttää str.format menetelmä . Tämän menetelmän avulla voit määrittää merkkijonomallin ja täyttää sitten paikkamerkkiarvot luettelon elementeillä.

Esimerkiksi:

Python 3




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>

>

>

Lähtö

Geeks for Geeks>

Tämän lähestymistavan etuna on, että se pystyy määrittämään tarkalleen, kuinka luettelon elementit tulee muotoilla käyttämällä merkkijonomallin muotoilun paikkamerkkejä. Voit esimerkiksi määrittää liukulukujen desimaalien määrän tai tulostemerkkijonon leveyden ja tasauksen.

java merkkijonojen leikkaus

Python 3




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>

>

>

Lähtö

1.23 good 3.46>

Aika monimutkaisuus: Yllä olevien lähestymistapojen aika monimutkaisuus riippuu luettelon pituudesta. Esimerkiksi menetelmässä 1 iteroimme listaa läpi ja lisäämme jokaisen elementin merkkijonoon, joten aikamonimutkaisuus on O(n), missä n on listan pituus.
Vastaavasti myös muiden menetelmien aikakompleksisuus on O(n).
Avaruuden monimutkaisuus: Kaikkien yllä olevien menetelmien avaruuden monimutkaisuus on myös O(n), kun luomme uutta n-kokoista merkkijonoa listan elementtien tallentamiseksi.

Muunna Python-lista merkkijonoksi Recursion avulla

Koodi rekursiivisesti muuntaa listan l merkkijonosanaksi ketjuttamalla sen elementit. Se alkaa aloitusindeksistä, lisää nykyisen elementin sanaan ja jatkaa prosessia luettelon loppuun asti. Tuloksena oleva merkkijono tulostetaan sitten.

Python 3




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

>

>

Lähtö

Geeks for Geeks>