【发布时间】:2015-11-23 19:22:59
【问题描述】:
这个问题与Python: Slicing a list into n nearly-equal-length partitions非常相似。
但是,我不想实际分割列表。我想要的只是每个块的开始和停止索引值,就像我在切片列表一样。
所以我想要一个接受输入的函数:
def partitionIndexes( totalsize, numberofpartitions):
并返回表示每个分区的开始和结束索引的元组列表。每个元组应该跨越大致相同数量的索引(在 1 以内)。
例子:
>>>partitionIndexes( 105, 10 )
[(0, 10)
(11, 21)
(22, 32)
(33, 43)
(44, 54)
(55, 64)
(65, 74)
(75, 84)
(85, 94)
(95, 104)]
注意前五个分区如何跨越 11 个索引,而后五个分区如何跨越 10 个索引。
如果可能,我想避免生成所有索引的中间列表。
【问题讨论】: