logo

Program Python pro převod seznamu na řetězec

Máte-li seznam, napište program Python, který převede daný seznam na řetězec. Existují různé situace, se kterými se můžeme setkat, když je zadán seznam a my jej v Pythonu převedeme na řetězec.

Například převod na řetězec ze seznamu řetězců nebo ze seznamu celých čísel.



Příklad

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

Program pro převod seznamu na řetězec

  • Použití smyčky for
  • Použití metody .join().
  • V porozumění seznamu skladeb
  • Pomocí map() funkce
  • Použití funkce enumerate
  • Použití v operátoru
  • Použití metody functools.reduce
  • Pomocí metody str.format
  • Použití rekurze

Převeďte Python List na String pomocí cyklu for

Iterujte seznam pomocí pro smyčku a průběžně přidávejte prvek pro každý index do nějakého prázdného řetězce, a tak bude konečný řetězec, který máme, datového typu string

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

>

>

Výstup

techcodeview.com>

Časová náročnost: Na)
Pomocný prostor: Na)

Převést Python List na String pomocí metody join().

Funkce listToString(s), která bere jako vstup seznam s. Uvnitř funkce je inicializován prázdný řetězec str1. The funkci join(). pak vrátí výsledek spojení prvků vstupních seznamů do jednoho řetězce pomocí znaku mezery jako oddělovače. Kód ovladače inicializuje seznam s, volá funkci listToString(s) a vytiskne výsledek spojení prvků seznamu mezerami.

Poznámka: Ale co když seznam obsahuje jako prvek řetězec i celé číslo? V těchto případech výše uvedený kód nebude fungovat. Při přidávání do řetězce jej musíme převést na řetězec.

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

>

>

Výstup

Geeks for Geeks>

Časová náročnost: Na)
Pomocný prostor: Na)

Převeďte seznam na řetězec pomocí porozumění seznamu

Zde budeme používat porozumění seznamu převést seznam na řetězec, jak níže uvedený kód ukazuje implementaci

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

>

>

Výstup

I want 4 apples and 18 bananas>

Časová složitost : Časová složitost programu je O(n), kde n je délka seznamu s, protože každý prvek seznamu iteruje jednou.
Složitost prostoru: Pomocná prostorová složitost programu je O(n) protože vytváří nový seznam řetězců pomocí porozumění seznamu.

Převeďte seznam na řetězec pomocí funkce map().

Použijte metodu map(). pro mapování str (pro převod prvků v seznamu na řetězec) s daným iterátorem, seznam. Jak je ukázáno níže, kód je implementace pomocí funkce 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)>

>

>

Výstup

I want 4 apples and 18 bananas>

Časová složitost : The t ime složitost tohoto kódu je O(n), kde n je délka seznamu s.
Složitost prostoru: Prostorová složitost tohoto kódu je O(n), kde n je délka seznamu s.

List to String použitím funkce výčtu

Kód převede prvky seznamu na jeden řetězec a oddělí je mezerami. Iteruje prvky s, převádí každý prvek na řetězec a spojuje je pomocí oddělovače mezer. Výsledný řetězec je pak vytištěn.

Python3




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

>

>

Výstup

I want 4 apples and 18 bananas>

Časová náročnost: Na)
Pomocný prostor: Na)

Seznam do řetězce pomocí v operátorovi

Kód iteruje každý prvek i v seznamu s a vytiskne jej. End= určuje, že za každým prvkem má být vytištěna mezera místo znaku nového řádku, což má za následek, že prvky budou vytištěny na stejném řádku oddělené mezerami.

Python3




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

>

>

Výstup

Geeks for Geeks>

Časová náročnost: Na)
Pomocný prostor: Na)

Převést seznam na Použití metody functools.reduce

Kód používá funkci reduction() z modul functools zkombinovat prvky seznamu do jednoho řetězce. Aplikuje lambda funkci lambda a, b: a + + str(b) k postupnému zřetězení každého prvku b s předchozím výsledkem a. Výsledný řetězec je pak vytištěn.

Krajta




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

>

>

Výstup

I want 4 apples and 18 bananas>

Časová složitost: Časová složitost poskytnutého kódu Pythonu je O(n), kde n je počet prvků ve vstupním seznamu
Složitost prostoru: Prostorová složitost kódu je O(n), kde n je počet prvků ve vstupním seznamu s.

List to String pomocí metody str.format

Jeden další přístup k převodu seznamu na řetězec v Pythonu je použití str.format metoda . Tato metoda umožňuje zadat šablonu řetězce a poté vyplnit zástupné hodnoty prvky v seznamu.

Například:

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>

>

>

Výstup

Geeks for Geeks>

Tento přístup má tu výhodu, že je možné přesně určit, jak mají být prvky v seznamu formátovány, pomocí formátovacích zástupných symbolů v šabloně řetězce. Můžete například určit počet desetinných míst pro čísla s plovoucí desetinnou čárkou nebo šířku a zarovnání výstupního řetězce.

ukázkový kód 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>

>

>

Výstup

1.23 good 3.46>

Časová složitost: Časová složitost výše uvedených přístupů bude záviset na délce seznamu. Například v metodě 1 procházíme seznam a přidáváme každý prvek do řetězce, takže časová složitost bude O(n), kde n je délka seznamu.
Podobně bude časová složitost ostatních metod také O(n).
Složitost prostoru: Prostorová složitost všech výše uvedených metod bude také O(n), protože vytváříme nový řetězec velikosti n pro uložení prvků seznamu.

Převést Python List na String pomocí rekurze

Kód rekurzivně převede seznam l na řetězcové slovo zřetězením jeho prvků. Začíná od počátečního indexu, připojuje aktuální prvek ke slovu a pokračuje v procesu, dokud nedosáhne konce seznamu. Výsledný řetězec je pak vytištěn.

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

>

>

Výstup

Geeks for Geeks>