【发布时间】:2018-01-14 13:07:54
【问题描述】:
我将如何将一个列表一分为二,同时留下一个剩余部分作为它自己的“列表”?例如:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13, 14], [15]
不仅如此,还要继续将每个子列表减半以获得所需的结果:
[1, 2, 3], [4, 5, 6], [7], [8, 9, 10], [11, 12, 13], [14], [15]
【问题讨论】:
-
您自己尝试过吗?什么时候应该停止分裂?
-
我试过把它拆分一次,但不知道从那里去哪里,只能分成相等的部分。当模式与底部列表匹配时,拆分应该停止,其中 2 个 3 的列表后跟 1 个 1 的“列表”(因为我使用的所有列表都会有一个余数)。
-
您可以将edit 加入您的问题中。
-
你的结束条件不是很清楚;您的第二步匹配相同的条件(两个长度相等的列表和一个余数)。我将其解释为具有无法进一步拆分而不会成为单值列表的列表。所以长度为 3 或更低的任何内容。