一个数组分成10个一组,剩余的单独成组,取下标,如[0,1,2,3,4,5,6,7,8,9,10,11] 结果为 [0,10] [11,12]
def slice_array(total, per):
for i in range(0, math.ceil(total / per)):
yyy = math.ceil(total / per) - 1
if i == yyy:
yield [i * per, i * per + (total - yyy * per)]
else:
yield [i * per, i * per + per]
for i in slice_array(22,10):
print(i)
其实我需要lodash的chunk方法的python版本
_.chunk(array, [size=1])
将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。 如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。
引入版本
3.0.0
参数
array (Array): 需要处理的数组
[size=1] (number): 每个数组区块的长度
返回
(Array): 返回一个包含拆分区块的新数组(注:相当于一个二维数组)。
例子
_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]
参考
peewee
的bulk_create
对batch_size
参数的实现:👇输出结果:👇