Как преобразовать список слов в строку предложения?

У меня есть этот список

[['obytay'], ['ikeslay'], ['ishay'], ['artway']]

где мне нужно, чтобы он выглядел как

obytay ikeslay ishay artway

Может ли кто-нибудь помочь? Я попытался использовать join, но я не могу заставить его работать.

Ответ 1

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

' '.join(word[0] for word in word_list)

где word_list - это ваш список, показанный выше.

>>> word_list = [['obytay'], ['ikeslay'], ['ishay'], ['artway']]
>>> print ' '.join(word[0] for word in word_list)
obytay ikeslay ishay artway

Tobey likes his wart

Ответ 2

Это список строк. Итак, вам нужно связать список строк, chain.from_iterable, как этот

from itertools import chain
print " ".join(chain.from_iterable(strings))
# obytay ikeslay ishay artway

Это будет эффективно, если мы сначала преобразуем цепочку итерабельности в список, как этот

print " ".join(list(chain.from_iterable(strings)))

Ответ 3

Вы также можете использовать reduce.

l = [['obytay'], ['ikeslay'], ['ishay'], ['artway']]
print " ".join(reduce(lambda a, b: a + b, l))
#'obytay ikeslay ishay artway'