リストを要素数の異なるサブリストに分割する話
こんにちは、たくさん寝太郎です。
要素数が同じサブリストに分割する方法は調べるとすぐ出てきますが、要素数が異なるものの分割方法はあまり出てこなかったので考えてみました。
やりたいこと
以下のようにリストL,Gを与える。
L = [1,2,3,4,5,6,7,8] G = [2,3,2,1]
この時、ある関数fを作用させる事で以下のような出力を得たいとします。
f(L,G) = [[1,2],[3,4,5],[6,7],[8]]
サブリストの要素数が同じ場合
例えば要素数が2のサブリストに分割したい場合は以下のように書く事で実行できます。
[L[idx:idx+2] for idx in range(0,len(L),2)] -> [[0, 1], [2, 3], [4, 5], [6, 7]]
(参考: リストをN分割する | Python学習講座 )