跨列表连接断开的字符串-Python

跨列表连接断开的字符串-Python,python,string,list,Python,String,List,我刚开始用Python编程。我已经将一些记录从文本文件读入列表,其中记录中的第四项是一个长字符串,有时跨越多行。比如说, [ *, *, *, TXT1] [TXT2] [TXT3] [ *, *, *, TXT4] [TXT5] [ *, *, *, TXT6] [ *, *, *, TXT7] 如何从原始列表创建新的列表,以便正确显示 [ *, *, *, TXT1+TXT2+TXT3] [ *, *, *, TXT4+TXT5] [ *, *, *, TXT6] [ *, *, *, T

我刚开始用Python编程。我已经将一些记录从文本文件读入列表,其中记录中的第四项是一个长字符串,有时跨越多行。比如说,

[ *, *, *, TXT1]
[TXT2]
[TXT3]
[ *, *, *, TXT4]
[TXT5]
[ *, *, *, TXT6]
[ *, *, *, TXT7]
如何从原始列表创建新的列表,以便正确显示

[ *, *, *, TXT1+TXT2+TXT3]
[ *, *, *, TXT4+TXT5]
[ *, *, *, TXT6]
[ *, *, *, TXT7]

假设这里有一个名为
linelist
的列表,看起来像
[[*,*,*,*,TXT1],[TXT2],[TXT3],*,*,*,*,TXT4],…]

newoutput = []
for item in linelist:
   if len(item) == 1:
       newoutput[-1][-1] += item[0]
   else:
       newoutput.append(item)
最后,您的输出将如下所示:

[
    [*,*,*,TXT1+TXT2+TXT3],
    ...
]
使用中:

>>> a
[['.', '.', '.', 'a'], ['b'], ['c'], ['.', '.', '.', 'd'], ['.', '.', '.', 'e']]

>>> newoutput = []
>>> for item in a:
...   if len(item) == 1:
...     newoutput[-1][-1] += item[0]
...   else:
...     newoutput.append(item)
...
>>> newoutput
[['.', '.', '.', 'abc'], ['.', '.', '.', 'd'], ['.', '.', '.', 'e']]
>>>

是否可以显示现有代码?如果您试图解析CSV数据,
CSV
模块应始终是您查看的第一个位置。只有当你不能用一种让模块满意的方式来描述你的格式的怪癖时,你才应该费心编写你自己的解析器。此外,你的数据真的是这样的吗?每一行都在括号中,每一个元素前面都有一个空格,包括第一个元素,除了一个延续行之外?如果是这样,那就不难解析了。但这是一种奇怪的格式,而且您还没有给我们任何实际的示例数据,所以我不打算为您实际需要的东西编写代码。