在列表中连接破碎的字符串 - Python

2024-10-02 16:28:22 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

如何从原始列表创建一个新的列表,使其正确显示

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

Tags: 字符串列表编程记录文本文件txt1txt2txt3
1条回答
网友
1楼 · 发布于 2024-10-02 16:28:22

假设这里有一个名为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']]
>>>

相关问题 更多 >