リストを要素がN個の小分けリストにしたい
自分の備忘録として、記事に残す。
list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
のようなリストがあった時に、要素がN個のリストに小分けしたい。言うなれば、[list1[0:N], list1[N:2N], list1[2N:3N],,,,,]的なリストが欲しい。
そういう時は、以下のようにすると良い。
list1_divided = [] for i in range(0, len(list1), N): list1_divided.append(list1[i:i + N])
N=3ならば、以下のようなリストを得る。
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]
for文回す時に、N個飛ばしでとってくれば、0, N, 2N(=N+N), 3N(N+N+N),,,,,みたいにiを取ってきてくれるから、そのiに+Nしてやれば、
list1[i:i + N]でN個の要素ずつの小分けリストにしてくれるねって話だったか。
うーん、精進。
参考:
リストをN分割する - Python学習講座
※正直、リンク先のまんまの話をしています。勉強になりました、有難うございます。