0

Pythonでプログラミングを始めたばかりです。一部のレコードをテキストファイルからリストに読み込んだところ、レコードの4番目の項目は長い文字列であり、複数行にまたがることがあります。例えば、

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

正しく表示されるように、元のリストから新しいリストのリストを作成するにはどうすればよいですか?

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

1 に答える 1

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']]
>>>
于 2012-11-20T19:36:17.600 に答える