У меня есть следующий пример кода:
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def batch_gen(data, batch_size):
for i in range(0, len(data), batch_size):
yield data[i:i+batch_size]
batch_size = randint(1,4)
n = 0
print("batch_size is {}".format(batch_size))
for i in batch_gen(l, batch_size):
for x in i:
print(x)
print("loop {}".format(n))
n += 1
batch_size = randint(1,4)
Что дает мне вывод:
batch_size is 3
1
2
3
loop 0
4
5
6
loop 1
7
8
9
loop 2
10
loop 3
Это вывод, который я ищу, однако batch_size всегда устанавливается из batch_size = randint (1,4) вне цикла for.
Я смотрю на случайный размер batch_size для каждой итерации цикла, и каждый следующий цикл выбирается там, где остановился последний цикл, до завершения списка случайной длины.
Любая помощь будет принята с благодарностью!
Пример кода, взятого из Итерация по последовательности Python, кратная n?