首页 > 解决方案 > python:在列表中连接列表的字符串

问题描述

是否可以从每个列表中取出每个单独的字符串并将其组合成一个字符串,然后有一个字符串列表?而不是列表中的字符串列表?

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

为什么这只连接列表中的最后一个元素?

标签: pythonlistdictionary

解决方案


您正在覆盖每个循环的名称,因此名称的最后一个值是“白色农舍”。

试试这个:

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']

推荐阅读