一个例子:我有一个列表[1,2,3,4,5,6,7,8]
,我需要将它“拉伸”到 20,现有值尽可能均匀分布,“缺失”值替换为None
,结果列表必须以 1 开头并以 8 结尾。
原始列表中的值和要分配的 20-8 个 None 值之间有 8-1 个空格,因此我们可以在每个“空格”中放置一个 None。
[1, None, 2, None, 3, None, 4, None, 5, None, 6, None, 7, None, 8]
现在我们还有 12-7None
个值要分配,我们可以将其中的 4 个分配到其他空间:
[1, None, None, 2, None, 3, None, None, 4, None, 5, None,None 6, None, 7, None,
None, 8]
现在我们剩下一个可以随机分配:
[1, None, None, 2, None, 3, None, None, 4, None, 5, None, None, 6, None, None 7,
None, None, 8]
有没有一种算法可以让你完成这样的任务?也许是一个实现?