我想在子列表中循环。我通过执行以下代码来实现它。
def batchGenerator(samples, subsetSize):
i=0
while (i < (len(samples) - subsetSize + 1)):
yield samples[i: i + subsetSize]
i = i + subsetSize
有没有更标准的库函数来做同样的事情?
我想像这样使用它:
for subl in batchGenerator(range(100), 10):
print (max(subl))
输出:
9
19
29
39
49
59
69
79
89
99
编辑:
我想要少于subsetSize被截断的尾随元素,我发现 @s3cur3 解决方案对于这种情况是最优雅的(与类似线程中的解决方案相比:What is the most "pythonic" way to iterate over a list in chunks ? )
我也更喜欢输出保持相同的类型list,numpy.array, torch.Tensor, 等
冉冉说
相关分类