Дано список, напишіть програму Python для перетворення заданого списку на рядок. Існують різні ситуації, з якими ми можемо зіткнутися, коли задано список, і ми перетворюємо його на рядок у Python.
Наприклад, перетворення в рядок зі списку рядків або списку цілих чисел.
приклад
Input: ['Geeks', 'for', 'Geeks'] Output : Geeks for Geeks Explanation: The Input is of list data type but the output is of string datatype>
Програма для перетворення списку в рядок
- Використання циклу for
- Використання методу .join().
- IN розуміння списку співів
- Використання map() функція
- Використання функції enumerate
- Використання в операторі
- Використання методу functools.reduce
- Використання методу str.format
- Використання рекурсії
Перетворіть Python List на String за допомогою циклу for
Переглядайте список за допомогою для циклу і продовжуйте додавати елемент для кожного індексу в якийсь порожній рядок, і таким чином кінцевий рядок, який ми маємо, матиме тип даних 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))> |
>
>Вихід
techcodeview.com>
Часова складність: O(n)
Допоміжний простір: O(n)
Перетворення списку Python на рядок за допомогою методу join().
Функція listToString(s), яка приймає список s як вхідні дані. Усередині функції ініціалізується порожній рядок str1. The функція join(). потім повертає результат об’єднання елементів вхідного списку s в один рядок із використанням пробілу як роздільника. Код драйвера ініціалізує список s, викликає функцію listToString(s) і друкує результат об’єднання елементів списку пробілами.
Примітка. Але що, якщо елемент списку містить і рядок, і ціле число? У таких випадках наведений вище код не працюватиме. Нам потрібно перетворити його на рядок, додаючи до рядка.
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))> |
>
>Вихід
Geeks for Geeks>
Часова складність: O(n)
Допоміжний простір: O(n)
Перетворення списку на рядок за допомогою розуміння списку
Тут ми будемо використовувати розуміння списку щоб перетворити список на рядок, як це показано в коді нижче
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 want 4 apples and 18 bananas>
Часова складність : Часова складність програми дорівнює O(n), де n — довжина списку s, оскільки вона повторює кожен елемент списку один раз.
Складність простору: Складність допоміжного простору програми становить O(n) оскільки він створює новий список рядків за допомогою розуміння списку.
Перетворіть список на рядок за допомогою функції map().
Використовувати метод map(). для зіставлення str (для перетворення елементів у списку на рядок) із заданим ітератором, списком. Як показано нижче, код реалізується за допомогою функції 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 want 4 apples and 18 bananas>
Часова складність : The t Складність ime цього коду дорівнює O(n), де n - довжина списку s.
Складність простору: Просторова складність цього коду дорівнює O(n), де n - довжина списку s.
Список до рядка використовуючи функція перерахування
Код перетворює елементи списку в один рядок, розділяючи їх пробілами. Він повторює елементи s, перетворює кожен елемент на рядок і об’єднує їх за допомогою пробілу. Отриманий рядок потім друкується.
Python3
s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)> |
>
>Вихід
I want 4 apples and 18 bananas>
Часова складність: O(n)
Допоміжний простір: O(n)
Список до рядка за допомогою в оператора
Код повторює кожен елемент i у списку s і друкує його. End= вказує, що після кожного елемента замість символу нового рядка слід друкувати пробіл, у результаті чого елементи друкуються в одному рядку, розділених пробілами.
Python3
s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)> |
>
>Вихід
Geeks for Geeks>
Часова складність: O(n)
Допоміжний простір: O(n)
Перетворити список на Використання методу functools.reduce
Код використовує функцію reduce() із модуль functools щоб об’єднати елементи списку s в один рядок. Він застосовує лямбда-функцію lambda a, b: a + + str(b) для послідовного об’єднання кожного елемента b із попереднім результатом a. Отриманий рядок потім друкується.
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 want 4 apples and 18 bananas>
Часова складність: Часова складність наданого коду Python становить O(n), де n – кількість елементів у списку введення
Складність простору: Просторова складність коду дорівнює O(n), де n – кількість елементів у вхідному списку s.
Список до рядка за допомогою методу str.format
Ще одним підходом до перетворення списку на рядок у Python є використання метод str.format . Цей метод дозволяє вказати шаблон рядка, а потім заповнити значення заповнювачів елементами в списку.
Наприклад:
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> |
>
>Вихід
Geeks for Geeks>
Перевага цього підходу полягає в тому, що він дозволяє точно вказати, як мають бути відформатовані елементи списку, використовуючи заповнювачі форматування в шаблоні рядка. Наприклад, ви можете вказати кількість десяткових знаків для чисел з плаваючою комою або ширину та вирівнювання вихідного рядка.
python rstrip
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> |
>
>Вихід
1.23 good 3.46>
Часова складність: Часова складність вищезазначених підходів залежатиме від довжини списку. Наприклад, у методі 1 ми проходимо список і додаємо кожен елемент до рядка, тому часова складність становитиме O(n), де n — довжина списку.
Аналогічно, часова складність інших методів також буде O(n).
Складність простору: Складність простору для всіх наведених вище методів також буде O(n), оскільки ми створюємо новий рядок розміром n для зберігання елементів списку.
Перетворення списку Python на рядок за допомогою рекурсії
Код рекурсивно перетворює список l на рядкове слово шляхом конкатенації його елементів. Він починається з початкового індексу, додає поточний елемент до слова та продовжує процес до досягнення кінця списку. Отриманий рядок потім друкується.
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, ''))> |
>
>Вихід
Geeks for Geeks>