Python: объединение строк списка в списке - PullRequest
0 голосов
/ 04 марта 2019

Можно ли взять каждую отдельную строку из каждого списка и объединить ее в одну строку, а затем получить список строк?Вместо списка строк в списке?

names = ['red', 'barn'], ['barn'], ['front', 'porch'], ['white', 'farm', 'house']]

Ожидаемый результат ниже:

names = ['red barn', 'barn', 'front porch', 'white farm house']

Вот что я пробовал

for name in names: names = " ".join(name) print(names) вывод этого кода:

white farm house

Почему это объединяет только последний элемент в списке?

1 Ответ

0 голосов
/ 05 марта 2019

Вы перезаписываете имена в каждом цикле, поэтому последнее значение имен - это «белый дом фермы».

Попробуйте вместо этого:

l_out = [' '.join(x) for x in names]
print(l_out)

Вывод:

['red barn', 'barn', 'front porch', 'white farm house']

Или вы можете сделать это так, как пытаетесь:

l_out = []
for name in names:
    l_out.append(' '.join(name))
print(l_out)

Вывод:

['red barn', 'barn', 'front porch', 'white farm house']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...