我知道可以使用以下方法将列表分成相等大小的子列表:
segment = len(list)//k
sub_lists = [list[i:i+segment] for i in range(0, len(list), segment)]
然而我不确定如何将长度为 k^m 的列表分割成子列表,然后进一步分割子列表,直到每个子列表的长度为 1。
例如:
k = 2
list = [1, 2, 3, 4, 5, 6, 7, 8]
list = [[1, 2, 3, 4], [5, 6, 7, 8]]
list = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
list = [[[[1], [2]], [[3], [4]]], [[[5], [6]], [[7], [8]]]]
每当我尝试循环这个时,我就会陷入困境,有没有捷径?
k
个子列表,对吗? - Finwood