How to concatenate (join) items in a list to a single string
How do I concatenate a list of strings into a single string?
For example, given [‘this’, ‘is’, ‘a’, ‘sentence’] , how do I get "this-is-a-sentence" ?
For the opposite process — creating a list from a string — see How do I split a string into a list of characters? or How do I split a string into a list of words? as appropriate.
11 Answers 11
A more generic way (covering also lists of numbers) to convert a list to a string would be:
It’s very useful for beginners to know why join is a string method.
It’s very strange at the beginning, but very useful after this.
The result of join is always a string, but the object to be joined can be of many types (generators, list, tuples, etc).
.join is faster because it allocates memory only once. Better than classical concatenation (see, extended explanation).
Once you learn it, it’s very comfortable and you can do tricks like this to add parentheses.
Объединить элементы списка в строку Python
В этом посте будет обсуждаться, как объединить элементы, присутствующие в списке Python, в строку, разделенную разделителем.
1. Использование join() функция
Чтобы эффективно объединить элементы в списке с предпочтительным разделителем, рекомендуемым решением является вызов метода join() функция на разделителе, т.е. delim.join(list) .
2. Использование reduce() функция
Другой вероятный способ построить строку из списка — уменьшить с помощью пользовательской функции. Вот рабочий пример:
Вот еще один вариант, в котором используется лямбда-выражение.
Вот и все, что касается объединения элементов списка в строку в Python.
Оценить этот пост
Средний рейтинг 5 /5. Подсчет голосов: 4
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования
Объединить список строк в Python

В этой статье будут представлены методы объединения элементов списка Python в одну строку.
Please enable JavaScript
Используйте метод join() для преобразования списка в единую строку в Python
Метод join() возвращает строку, в которой разделитель строк объединяет последовательность элементов. В качестве аргумента он принимает повторяющиеся данные.
Этот метод можно визуализировать следующим образом:
Мы вызываем метод join() из separator и передаем в качестве параметра список строк. Он возвращает строку в соответствии с используемым разделителем. Если в разделителе используется символ новой строки \n , он вставит новую строку для каждого элемента списка. Если в качестве разделителя используется запятая , , получается просто строка, разделенная запятыми. Метод join() возвращает строку в итерируемом объекте. TypeError будет сгенерирован, если любые нестроковые значения являются итерируемыми, включая байтовые объекты. Выражение, называемое выражением генератора, используется для того, чтобы для него работали все типы данных.
Например, создайте переменную words_list и напишите в нее несколько элементов списка. Это Joey , doesnot , share и food . Используйте разделитель » » для вызова метода join() . Используйте переменную words_list в качестве аргумента функции. Используйте функцию print() для всего выражения.
В приведенном ниже примере функция join() принимает в качестве аргумента переменную words_list . Затем между каждым элементом списка вставляется разделитель » » . Наконец, в качестве вывода он возвращает строку Joey does not share food .
Используйте функцию map() для преобразования списка любого типа данных в единую строку в Python
Функция map() применяет определенную функцию, переданную в качестве аргумента итерируемому объекту, например списку и кортежу. Функция передается без ее вызова. Это означает, что в функции нет скобок. Похоже, что функция map() была бы более универсальным способом преобразования списков Python в строки.
Это можно представить как:
Например, создайте переменную word_list и сохраните в ней несколько пунктов списка. Это Give , me , a , call , at и 979797 . Затем напишите функцию map() и передайте функцию str и переменную words_list в качестве аргументов функции map() . Напишите функцию join() и возьмите объект map в качестве аргумента. Используйте пустую строку » » для вызова функции join() . Распечатайте выражение с помощью функции print() .
Функция str вызывается для всех элементов списка, поэтому все элементы преобразуются в строковый тип. Затем между каждым объектом карты вставляется пробел » » , и он возвращает строку, как показано в разделе вывода.
Используйте цикл for для преобразования списка в одну строку в Python
Мы можем использовать цикл for , чтобы получить единственную строку из списка. В этом методе мы перебираем все значения, а затем добавляем каждое значение в пустую строку. Это простой процесс, но требует больше памяти. Мы добавляем разделитель рядом с итератором для добавления в пустую строку.
Например, создайте переменную words_list и сохраните элементы списка. Затем создайте пустую строку sentence . Используйте цикл for и используйте переменную word в качестве итератора. Используйте метод str() для word и добавьте его в переменную sentence . Затем добавьте «.» В качестве строки к функции. После этого присвойте выражение переменной sentence . Вывести переменную вне цикла.
В этом примере список Python words_list содержит список элементов. Пустая строковая переменная sentence используется для добавления элементов списка в цикл. Внутри цикла метод str() преобразует элементы в строку, а «.» Действует как разделитель между каждым повторяемым элементом, который добавляется к пустой строке sentence .
Как объединить элементы списка в одно слово python
variants = ‘Reduce’ :
‘listmerge=lambda s: reduce(lambda d,el: d.extend(el) or d, s, [])’ ,
‘Iterate’ :
«»»
def listmerge(lstlst):
all=[]
for lst in lstlst:
all.extend(lst)
return all
«»» ,
‘Comprehension’ :
‘listmerge=lambda ll: [x for lst in ll for x in lst]’ ,
>
initstr= ‘lstlst=[range(i) for i in range(1000)] \n gc.enable()’
def test ( variants, initstr,n= 100 ) :
print «Test repeats n #483d8b»>» times \n INITSTR:» ,initstr, » \n \n »
for k,v in variants. iteritems ( ) :
print k, » — » , timeit . Timer ( «listmerge(lstlst)» , initstr+ » \n » +v ) . timeit ( n )
print
test ( variants,initstr, 100 )
Iterate — 1.56133103371
Reduce — 1.57647109032
Comprehension — 7.5749669075