Mając listę, napisz program w Pythonie, który przekonwertuje podaną listę na ciąg znaków. Istnieją różne sytuacje, które możemy napotkać, gdy podana jest lista i konwertujemy ją na ciąg znaków w Pythonie.
Na przykład konwersja na ciąg z listy ciągów lub listy liczb całkowitych.
Przykład
Input: ['Geeks', 'for', 'Geeks'] Output : Geeks for Geeks Explanation: The Input is of list data type but the output is of string datatype>
Program konwertujący listę na ciąg znaków
- Używanie pętli for
- Korzystanie z metody .join().
- W śpiewać ze zrozumieniem listy
- Korzystanie z mapy() funkcjonować
- Korzystanie z funkcji wyliczania
- Użycie operatora
- Korzystanie z metody functools.reduce
- Korzystanie z metody str.format
- Korzystanie z rekurencji
Konwertuj listę Pythona na ciąg znaków za pomocą pętli for
Iteruj po liście za pomocą dla pętli i kontynuuj dodawanie elementu dla każdego indeksu w jakimś pustym ciągu znaków i w ten sposób końcowy ciąg, który otrzymamy, będzie miał typ danych 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))> |
>
>Wyjście
techcodeview.com>
Złożoność czasowa: NA)
Przestrzeń pomocnicza: NA)
Konwertuj listę Pythona na ciąg za pomocą metody Join().
Funkcja listToString(s), która przyjmuje listę s jako dane wejściowe. Wewnątrz funkcji inicjowany jest pusty ciąg znaków str1. The funkcja dołączenia(). następnie zwraca wynik połączenia elementów listy wejściowej s w jeden ciąg znaków, używając znaku spacji jako separatora. Kod sterownika inicjuje listę s, wywołuje funkcję listToString(s) i wypisuje wynik połączenia elementów listy spacjami.
Uwaga: A co, jeśli lista zawiera jako element zarówno ciąg znaków, jak i liczbę całkowitą? W takich przypadkach powyższy kod nie będzie działać. Musimy przekonwertować go na ciąg podczas dodawania do ciągu.
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))> |
>
>Wyjście
Geeks for Geeks>
Złożoność czasowa: NA)
Przestrzeń pomocnicza: NA)
Konwertuj listę na ciąg znaków, korzystając ze zrozumienia list
Tutaj będziemy używać zrozumienie listy aby przekonwertować listę na ciąg znaków, jak poniższy kod pokazuje implementację
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)> |
>
>Wyjście
I want 4 apples and 18 bananas>
Złożoność czasowa : Złożoność czasowa programu wynosi O(n), gdzie n jest długością listy s, ponieważ wykonuje on jednorazową iterację po każdym elemencie listy.
Złożoność przestrzeni: Złożoność programu w przestrzeni pomocniczej wynosi O (n) ponieważ tworzy nową listę ciągów znaków przy użyciu rozumienia listy.
Konwertuj listę na ciąg znaków za pomocą funkcji map().
Użyj metoda map(). do mapowania str (do konwersji elementów listy na ciąg znaków) za pomocą danego iteratora, listy. Jak pokazano poniżej, kod jest implementacją przy użyciu funkcji 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)> |
>
>Wyjście
I want 4 apples and 18 bananas>
Złożoność czasowa : T Złożoność tego kodu wynosi O(n), gdzie n jest długością listy s.
Złożoność przestrzeni: Złożoność przestrzenna tego kodu wynosi O(n), gdzie n jest długością listy s.
Lista do ciągu za pomocą wyliczyć funkcję
Kod konwertuje elementy listy na pojedynczy ciąg znaków, oddzielając je spacjami. Iteruje po elementach s, konwertuje każdy element na ciąg znaków i łączy je za pomocą separatora spacji. Powstały ciąg jest następnie drukowany.
Python3
s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)> |
>
>Wyjście
I want 4 apples and 18 bananas>
Złożoność czasowa: NA)
Przestrzeń pomocnicza: NA)
Lista do ciągu za pomocą w operatorze
Kod wykonuje iterację po każdym elemencie i na liście s i drukuje go. End= określa, że po każdym elemencie zamiast znaku nowej linii powinna zostać wydrukowana spacja, w wyniku czego elementy zostaną wydrukowane w tej samej linii, oddzielone spacjami.
Python3
s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)> |
>
>Wyjście
Geeks for Geeks>
Złożoność czasowa: NA)
Przestrzeń pomocnicza: NA)
Konwertuj listę na Korzystanie z metody functools.reduce
W kodzie zastosowano funkcję redukcji() z pliku moduł functools aby połączyć elementy listy s w jeden ciąg. Stosuje funkcję lambda lambda a, b: a + + str(b), aby sekwencyjnie połączyć każdy element b z poprzednim wynikiem a. Powstały ciąg jest następnie drukowany.
Pyton
from> functools>import> reduce> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> reduce>(>lambda> a, b : a>+> ' '> +>str>(b), s)> print>(listToStr)> |
>
>Wyjście
I want 4 apples and 18 bananas>
Złożoność czasowa: Złożoność czasowa dostarczonego kodu Pythona wynosi O(n), gdzie n to liczba elementów na liście wejściowej
Złożoność przestrzeni: Złożoność przestrzenna kodu wynosi O(n), gdzie n jest liczbą elementów na liście wejściowej s.
Lista do ciągu przy użyciu metody str.format
Dodatkowym podejściem do konwersji listy na ciąg w Pythonie jest użycie metody metoda str.format . Ta metoda umożliwia określenie szablonu ciągu, a następnie wypełnienie wartości zastępczych elementami z listy.
Na przykład:
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> |
>
>Wyjście
Geeks for Geeks>
Zaletą tego podejścia jest możliwość dokładnego określenia sposobu formatowania elementów listy za pomocą symboli zastępczych formatowania w szablonie ciągu znaków. Można na przykład określić liczbę miejsc dziesiętnych dla liczb zmiennoprzecinkowych lub szerokość i wyrównanie ciągu wyjściowego.
atoi c
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> |
>
>Wyjście
1.23 good 3.46>
Złożoność czasowa: Złożoność czasowa powyższych podejść będzie zależeć od długości listy. Na przykład w metodzie 1 iterujemy po liście i dodajemy każdy element do łańcucha, więc złożoność czasowa wyniesie O(n), gdzie n to długość listy.
Podobnie złożoność czasowa innych metod również będzie wynosić O(n).
Złożoność przestrzeni: Złożoność przestrzenna wszystkich powyższych metod będzie również wynosić O(n), ponieważ tworzymy nowy ciąg o rozmiarze n do przechowywania elementów listy.
Konwertuj listę Pythona na ciąg za pomocą rekurencji
Kod rekurencyjnie konwertuje listę l na słowo łańcuchowe, łącząc jego elementy. Rozpoczyna się od indeksu początkowego, dołącza bieżący element do słowa i kontynuuje proces aż do końca listy. Powstały ciąg jest następnie drukowany.
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, ''))> |
>
>Wyjście
Geeks for Geeks>