我刚开始用Python编程。我已经从文本文件中读取了一些记录到列表中,其中记录中的第四项是长字符串,有时跨越多行。例如,
[ *, *, *, TXT1]
[TXT2]
[TXT3]
[ *, *, *, TXT4]
[TXT5]
[ *, *, *, TXT6]
[ *, *, *, TXT7]
如何从原始列表创建新列表,以便正确显示
[ *, *, *, TXT1+TXT2+TXT3]
[ *, *, *, TXT4+TXT5]
[ *, *, *, TXT6]
[ *, *, *, TXT7]
答案 0 :(得分:2)
假设您有一个名为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']]
>>>