コード

def split_array(array, chunk_size):
	return [array[i:i + chunk_size] for i in range(0, len(array), chunk_size)]

array = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']
chunk_size = 3

result = split_array(array, chunk_size)
print(result)

結果

[['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['j', 'k']]

※ChatGPT-4での生成

Zipを利用した版

参考・引用元

http://iogi.hatenablog.com/entry/split-list-into-sublist

http://qiita.com/ukisoft/items/bfeb439be673e2df328c

実例

コード

splitNum = 3
ary1 = ["01:a","02:b","03:c","04:d","05:e","06:f","07:g","08:h","09:i","10:j","11:k","12:l"]
ary2 = zip(*[iter(ary1)]*splitNum)
print(list(ary2))

※zip関数はpython3からzipオブジェクトで返されるので注意する。

※余りが出た場合もタプルごと無視されるので注意する。

結果

[(‘01:a’, ‘02:b’, ‘03:c’), (‘04:d’, ‘05:e’, ‘06:f’), (‘07:g’, ‘08:h’, ‘09:i’), (‘10:j’, ‘11:k’, ‘12:l’)]