Переделать массив в строку питон

Python: как преобразовать список в строку

Под списком в языке Python понимают набор объектов любого типа, которые синтаксически упорядочены (это реализуется при помощи квадратных скобок и запятых). Этот тип хранения данных весьма удобен, однако иногда бывает необходимо преобразовать элементы списка в строку Python. Это можно сделать несколькими способами, которые мы и рассмотрим в данной статье. Но сначала заметим, что некоторые из этих способов равны по возможностям, и выбор здесь определяется привычками или опытом программиста.

Способ №1. Преобразование с использованием функции join()

Это самый популярный метод трансформирования списка в строку, а выполняется он при помощи функции join() с разделителем. Чтобы было понятнее, приведем несколько примеров:

>>> words = ['каждый','охотник','желает','знать','где','сидит','фазан']>>> print(" ".join(words))
каждый охотник желает знать где сидит фазан
>>> products = ['milk','cheese','bread','sausage','butter','cocoa','eggs']>>> print(" ".join(products))
milk cheese bread sausage butter cocoa eggs

В качестве разделителя указан пробел, но можно поставить, например, запятую или любой другой символ. Однако если мы таким образом попытаемся преобразовать в строку список, в котором есть числовые значения, может возникнуть ошибка:

>>> champs = ['топ', 5, 'футбольных', 'чемпионатов', 'Европы', '-', 'Испания', 'Италия', 'Франция', 'Англия', 'Германия']>>> print(" ".join(champs))
Traceback (most recent call last):
File "", line 1, in
print(" ".join(champs))
TypeError: sequence item 1: expected str instance, int found

Всё дело в том, что для корректного вывода здесь нужно выполнить преобразование отдельных элементов в строчные значения, а это реализуется при помощи специальной функции.

Читайте также:  Python вывести массив через пробел

Способ №2. Конструкция join() + map()

Исключить ошибку выше поможет данный способ, в котором задействуется еще одна функция, map() , причем со встроенной функцией str , которая используется для преобразования любых аргументов в строковые значения. Вот как это выглядит в коде:

>>> champs = ['топ', 5, 'футбольных', 'чемпионатов', 'Европы', '-', 'Испания', 'Италия', 'Франция', 'Англия', 'Германия']>>> print(" ".join(map(str,champs)))
топ 5 футбольных чемпионатов Европы - Испания Италия Франция Англия Германия

Итак, при помощи функции join() и разделителя мы вывели элементы списка в виде строки, а функция map() со встроенной функцией str помогла нам объединить элементы разных типов. Рассмотрим еще один пример:

>>> numbers = [3, 5, 7, 9, 11, 13, 15, 17]>>> print(" ".join(map(str,numbers)))
3 5 7 9 11 13 15 17

Первый способ здесь бы тоже не сработал, поскольку в списке есть числовые значения, поэтому использовали вариант join() + map() .

Способ №3. Преобразование при помощи цикла

В данном случае циклическое программирование не самый удобный способ преобразования списка в строку, однако он подойдет для новичков, которые еще не знакомы с большинством функций. Вот как это реализуется при помощи цикла for :

>>> clubs = [7, 'ведущих', 'европейских', 'клубов', '-', 'Реал', 'Барселона', 'МЮ', 'Челси', 'Бавария', 'Милан', 'Ювентус']>>> string = ' '
>>> for j in clubs:
string += str(j)+ ' '
>>> print(string)
7 ведущих европейских клубов - Реал Барселона МЮ Челси Бавария Милан Ювентус

Мы задали список и ввели дополнительную переменную, чтобы реализовать вывод строки (для наглядности переменная получила имя string ) после перебора значений с помощью типичной конструкции for .

Как преобразовать строку в список в Python 3

В этой главе рассмотрим обратный процесс преобразования. Операция эта тоже несложная и реализуется с помощью функции split() вот так:

>>> products = 'milk cheese bread sausage butter cocoa eggs'
>>> print(f'products list =')
products list =['milk', 'cheese', 'bread', 'sausage', 'butter', 'cocoa', 'eggs']

Заключение

Мы рассмотрели преобразование элементов списков в строчные значения и наоборот.

Обратите внимание, что в последнем примере мы использовали f-строки — весьма удобный метод форматирования, появившийся в версии 3.6.

Источник

List to String Python – join() Syntax Example

Quincy Larson

Quincy Larson

List to String Python – join() Syntax Example

Sometimes you want to convert your Python lists into strings. This tutorial will show you an example of how you can do this.

But first, let’s explore the difference between the Python list data structure and the Python string data structure.

What is a List in Python?

In Python, a list is an ordered sequence of elements. Each element in a list has a corresponding index number that you can use to access it.

You can create a lists by using square brackets and can contain any mix of data types.

>>> exampleList = ['car', 'house', 'computer']

Note that I will be showing code from the Python REPL. The input I’m typing has >>> at the beginning of it. The output doesn’t have anything at the beginning of it. You can launch this REPL by going into your terminal and typing python then hitting enter.

Once you’ve initialized a Python list, you can access its elements using bracket notation. Keep in mind that the index starts at zero rather than 1. Here’s an example of inputs and outputs:

>>> exampleList[0] 'car' >>> exampleList[1] 'house' >>> exampleList[2] 'computer'

What is a String in Python?

A string is just a sequence of one or more characters. For example, ‘car’ is a string.

You can initialize it like this:

And then you can call your string data structure to see its contents:

How to Convert a Python List into a Comma-Separated String?

You can use the .join string method to convert a list into a string.

>>> exampleCombinedString = ','.join(exampleList)

You can then access the new string data structure to see its contents:

>>> exampleCombinedString 'car,house,computer'

So again, the syntax is [seperator].join([list you want to convert into a string]) .

In this case, I used a comma as my separator, but you could use any character you want.

Here. Let’s join this again, but this time, let’s add a space after the comma so the resulting string will be a bit easier to read:

>>> exampleCombinedString = ', '.join(exampleList) >>> exampleCombinedString 'car, house, computer' 

How do you concatenate lists in Python?

There are a number of ways to concatenate lists in Python. The most common is to use the + operator:

>>> list1 = [1, 2, 3] >>> list2 = [4, 5, 6] >>> list1 + list2 [1, 2, 3, 4, 5, 6]

Another option is to use the extend() method:

>>> list1 = [1, 2, 3] >>> list2 = [4, 5, 6] >>> list1.extend(list2) >>> list1 [1, 2, 3, 4, 5, 6]

Finally, you can use the list() constructor:

>>> list1 = [1, 2, 3] >>> list2 = [4, 5, 6] >>> list3 = list1 + list2 >>> list3 [1, 2, 3, 4, 5, 6]

How do you convert a list to an array in Python?

One way to do this is to use the NumPy library.

Then run the np.array() method to convert a list to an array:

>>> a = np.array([1, 2, 3]) >>> print(a) [1 2 3]

Can we convert a list into a dictionary in Python?

Most definitely. First, let’s create a dictionary using the built-in dict() function. Example dict() syntax:

d = dict(name='John', age=27, country='USA') print(d)

In this example, we create a dictionary object by using the dict() function. The dict() function accepts an iterable object. In this case, we use a tuple.

How to Create a Dictionary from a List

You can also create a dictionary from a list using the dict() function.

d = dict(zip(['a', 'b', 'c'], [1, 2, 3])) print(d) 

Note that in this example, we used the zip() function to create a tuple.

How to Create a Dictionary from Another Dictionary:

You can create a dictionary from another dictionary. You can use the dict() function or the constructor method to do this.

There are so many awesome things you can do with Python Lists, Arrays, Dictionaries, and Strings

I am really just scratching the surface here. If you want to go way deeper, and apply a lot of these methods and techniques on real world projects, freeCodeCamp.org can help you.

If you want to learn more about programming and technology, try freeCodeCamp’s core coding curriculum. It’s free.

Quincy Larson

Quincy Larson

The teacher who founded freeCodeCamp.org.

If you read this far, tweet to the author to show them you care. Tweet a thanks

Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

freeCodeCamp is a donor-supported tax-exempt 501(c)(3) charity organization (United States Federal Tax Identification Number: 82-0779546)

Our mission: to help people learn to code for free. We accomplish this by creating thousands of videos, articles, and interactive coding lessons — all freely available to the public. We also have thousands of freeCodeCamp study groups around the world.

Donations to freeCodeCamp go toward our education initiatives, and help pay for servers, services, and staff.

Источник

Python: Как преобразовать список в строку?

В этом коротком руководстве мы рассмотрим различные методы, которые можно использовать для преобразования списка Python в строку.

Зачем преобразовывать список Python в строку?

Преобразование списка Python в строку является обычным явлением, хотя наиболее распространенный случай использования, с которым я столкнулся, — это преобразование итерируемого объекта в строку, чтобы его можно было отобразить. Python предоставляет нам несколько способов преобразования списков Python в строку, эти методы не имеют конкретных ограничений для сравнения, и, следовательно, это сводится только к пониманию и удобству программистов этого метода.

Если это не так, я бы порекомендовал это решение, если вы новичок. Но не стесняйтесь пройти их все, если вам интересно их изучить.

Способы преобразования списка Python в строки

Используя join():

Наиболее распространенным и питоническим способом преобразования списка python в строку является использование метода join() . Он принимает итеративные объекты, последовательно присоединяет и возвращает их в виде строки. Однако значения в iterable должны иметь строковый тип данных, и в случае, если iterable содержит int, вы можете использовать второй метод.

Здесь string является разделителем

iterable — Любой итерируемый объект — список, кортежи, набор и т.д.

Код для преобразования списка Python в строку с помощью join():

flexiple = ["Hire", "the", "top", "freelancers"] print(" ".join(flexiple)) #Output - "Hire the top freelancers" 

Поскольку разделителем был пробел, строка содержит символы в списке, разделенные строкой.

Как упоминалось выше, попытка использовать итерацию, содержащую объект int , вернет typeerror . Следующее решение покажет вам, как это обойти.

flexiple = ["Hire", "the", "top", 10, "python","freelancers"] print(" ".join(flexiple)) 

Использование join() и map():

Поскольку методы join() принимают только строковые значения, мы используем map() для преобразования значений int в строку перед преобразованием списка python в строку. Методы map() выполняют определенную функцию для всех значений в итерации.

function — Конкретная функция, которую вы хотите выполнить

iterable — Итерируемый объект, содержащий значения

Таким образом, передавая функцию str() , которая преобразует объекты в строку, мы можем преобразовать значения типа int, а затем объединить их в строку.

Код для преобразования списка Python в строку с помощью map() :

flexiple = ["Hire", "the", "top", 10, "python","freelancers"] print(" ".join(map(str,flexiple))) #Output - "Hire the top 10 python freelancers" 

Использование цикла:

Третий метод преобразования списка Python в строку — это написать цикл и добавить каждую итерацию в строку. Я бы предложил этот метод, если вы новичок в Python и не знакомы с такими понятиями, как join() и map() т.д. Код может быть длиннее, но он будет более читабельным для новичка.

flexiple = ["Hire", "the", "top", 10, "python","freelancers"] f1 = "" for i in flexiple: f1 += str(i)+ " " print(f1) #Output = "Hire the top 10 python freelancers " 

Источник

Оцените статью