私は、文字列とリストのリストのリストを持っているを残しながらリストを平坦化する方法を、次のようなもの)(章、段落、テキストの文章を表す):(Pythonで)いくつかのネスト
[ [[ ['chp1p1s1'], ['chp1p1s2'], ['chp1p1s3'] ],
[ ['chp1p2s1'], ['chp1p2s2'], ['chp1p2s3'] ]],
[[ ['chp2p1s1'], ['chp2p1s2'], ['chp2p1s3'] ],
[ ['chp2p2s1'], ['chp2p2s2'], ['chp2p2s3'] ]] ]
I最終的にはこのように見えるように、([x for y in z for x in y]
によって例えば)completlyこのリストを平坦化する方法を知っているが、私は何をしたいのは、部分的にそれを平らにすることです:
[ [ ['chp1p1s1'], ['chp1p1s2'], ['chp1p1s3'],
['chp1p2s1'], ['chp1p2s2'], ['chp1p2s3'] ],
[ ['chp2p1s1'], ['chp2p1s2'], ['chp2p1s3'],
['chp2p2s1'], ['chp2p2s2'], ['chp2p2s3'] ] ]
私はループのためのいくつかによってこの問題を解決するために管理:
semiflattend_list=list()
for chapter in chapters:
senlist=list()
for paragraph in chapter:
for sentences in paragraph:
senlist.append(sentences)
semiflattend_list.append(senlist)
しかし、より良い、より短い解決策があるのだろうか? (私は私のリストのサイズが異なるためzip
は、移動するための方法である、とは思わない)
例は実際に私はあなたが何を意味するのかであるとは思わない二つの異なるリストのタプルです。かっこやカンマを台無しにしているかもしれませんが、再現性のある例が必要です –