it-roy-ru.com

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

Как я могу преобразовать список в строку через пробел в Python?

Например, я хочу преобразовать этот список:

my_list = [how,are,you]

В строку "how are you"

Пространства важны. Я не хочу получать howareyou, как я пытался до сих пор использовать

"".join(my_list)
69
user1653402
" ".join(my_list)

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

147
Joran Beasley

Я добавлю это в качестве альтернативы, хотя бы чертовски бесполезно, хотя по сравнению с " ".join(my_list) для строк это довольно бесполезно. Для нестроковых (например, массив целых) это может быть лучше:

" ".join(str(item) for item in my_list)
12
Polaris

Для Non String list мы можем сделать так же

" ".join(map(str, my_list))
2
Athar

Таким образом, чтобы достичь желаемого результата, мы должны сначала знать, как работает функция.

Синтаксис метода join(), описанный в документации python, следующий:

string_name.join(iterable)

Что следует отметить:

  • Он возвращает string, объединенный с элементами iterable. Разделителем между элементами является string_name.
  • Любое не строковое значение в iterable вызовет TypeError

Теперь, чтобы добавить пробелы, нам просто нужно заменить string_name на " " или ' ', оба они будут работать и поместить iterable, который мы хотим объединить.

Итак, наша функция будет выглядеть примерно так:

' '.join(my_list)

Но что, если мы хотим добавить определенное количество white spaces между нашими элементами в iterable?

нам просто нужно сделать это:

str(number*" ").join(iterable)

здесь number будет пользовательским вводом.

Так, например, если number=4.

Тогда вывод str(4*" ").join(my_list) будет how are you, поэтому между каждым Словом есть 4 пробела.

0
Abhay Tiwari