与えられた
li = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
次の方法でアイテムをグループ化できますzip(*[iter(li)]*3)
。
zip(*[iter(li)]*3)
#>>> <zip object at 0x7f0a5578ca28>
そしてチェック:
list(zip(*[iter(li)]*3))
#>>> [(1, 2, 3), (4, 5, 6), (7, 8, 9), (10, 11, 12), (13, 14, 15), (16, 17, 18)]
そして、次zip(*[...]*2)
のことができますzip(*[iter(li)]*3)
:
zip(*[zip(*[iter(li)]*3)]*2)
#>>> <zip object at 0x7f0a5578c998>
そしてチェック:
list(zip(*[zip(*[iter(li)]*3)]*2))
#>>> [((1, 2, 3), (4, 5, 6)), ((7, 8, 9), (10, 11, 12)), ((13, 14, 15), (16, 17, 18))]
内側の項目はリストではないため、次のようmap
にします。
map(list, zip(*[zip(*[iter(li)]*3)]*2))
#>>> <map object at 0x7f0a5afd80d0>
そしてチェック:
list(map(list, zip(*[zip(*[iter(li)]*3)]*2)))
#>>> [[(1, 2, 3), (4, 5, 6)], [(7, 8, 9), (10, 11, 12)], [(13, 14, 15), (16, 17, 18)]]