こんにちは、次のような多次元リストがあります。
my_list = [[1,2,3,1,2],[1,0,3,1,2],[1,0,0,0,2],[1,0,3,0,2]]
ここで、0 は 2 つのデータ間のギャップを表します。
私がする必要があるのは、リストを繰り返し処理し、各サブリストにいくつのギャップがあるかを追跡し、ゼロを捨てることです。最良の方法は、各サブリストをゼロがあるチャンクに分割することだと思うので、整数の小さなリストといくつかのギャップになります。理想的には、次のように、各チャンクの長さとギャップの数 (つまり、チャンク -1) を示す新しいリストを作成します。
new_list = [[5, 0], [[1, 3], 1], [[1, 1], 1], [[1, 1, 1], 2]]
またはおそらくより良い:
new_list = [[5], [1, 3], [1, 1], [1, 1, 1]]
ギャップが len(chunk) に等しいことがわかります。
編集: ただし、先頭と末尾のゼロはギャップを表していません。つまり、[0,0,1,2] は 1 つの連続したチャンクを表します。
どんな助けでも大歓迎です。