python - 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
为什么这只连接列表中的最后一个元素?
解决方案
您正在覆盖每个循环的名称,因此名称的最后一个值是“白色农舍”。
试试这个:
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']
推荐阅读
- angular6 - 当我尝试对角度应用程序执行单元测试时..但是在运行测试时我遇到了错误
- jquery - JQuery Accordion,当你折叠一个手风琴时,它们都会折叠。我希望它只会折叠目标手风琴
- python - 当QtableView单元格失去对表单关闭的关注时如何保存正在编辑的数据
- java - JUnits ParametrizedTest 与 TestTemplate
- c# - “Sybase.Data.AseClient1.AseConnection”的类型初始化程序引发异常
- javascript - 选择项目时的任何预期条件?量角器测试
- laravel - 如何获得在特定日期完成的平均任务
- php - 防止多个用户同时执行查询并重定向到不同的会话 php/mysql
- teamcity - 如何在所有代理中运行一个 teamcity 构建实例
- sparql - Jena Fuseki 和 Blazegraph 在字符串文字的“类型严格性”方面表现不同