有没有其他方法可以把一份清单分成大小相等的箱子,然后把剩余的(如果有的话)放到第一个箱子里?

2024-09-22 20:38:25 发布

您现在位置:Python中文网/ 问答频道 /正文

给出一个已排序的列表:

x = list(range(20))

我可以把单子分成相等大小,然后把剩下的放进左边的箱子里:

^{pr2}$

如果我从20个项目的列表中有3个箱子,我应该得到一个输出列表,其大小为(7,7,6)

>>> x = list(range(20))
>>> split_qustions_into_levels(x, 3)
[[0, 1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13], [14, 15, 16, 17, 18, 19]]

如果我想从20个项目的列表中获得6个箱子,我应该得到大小为(5,3,3,3,3,3)的列表的输出列表:

>>> x = list(range(20))
>>> split_qustions_into_levels(x, 6)
[[0, 1, 2, 3, 4],
 [5, 6, 7],
 [8, 9, 10],
 [11, 12, 13],
 [14, 15, 16],
 [17, 18, 19]]

有没有另一种方法可以做到这一点,而不需要对切片和等大小进行杂乱的计算,也不用左键将每个项目弹出到列表列表中?

有没有解决方案?


Tags: 项目方法列表排序切片rangelist单子