Брать по несколько элементов в списке в цикле Python

Имеется список изображений

['IMG_0023_475_30.tif', 'IMG_0023_550_20.tif', 
'IMG_0023_670_30.tif', 'IMG_0023_715_10.tif', 
'IMG_0023_840_20.tif', 'IMG_0024_475_30.tif', 
'IMG_0024_550_20.tif', 'IMG_0024_670_30.tif', 
'IMG_0024_715_10.tif', 'IMG_0024_840_20.tif', 
'IMG_0025_475_30.tif', 'IMG_0025_550_20.tif', 
'IMG_0025_670_30.tif', 'IMG_0025_715_10.tif', 
'IMG_0025_840_20.tif', 'IMG_0026_475_30.tif', 
'IMG_0026_550_20.tif', 'IMG_0026_670_30.tif', 
'IMG_0026_715_10.tif', 'IMG_0026_840_20.tif']

Мне нужно в цикле брать по 5 элементов в списке, делать с ними некие операции и брать следующие. Тоесть я беру первые 5 изображений, что-то с ними делаю. Потом беру следующие 5 и т.д.

Как брать по 5 элементов в списке?


Ответы (1 шт):

Автор решения: Danis

используйте срезы

arr = ['IMG_0023_475_30.tif', 'IMG_0023_550_20.tif', 
'IMG_0023_670_30.tif', 'IMG_0023_715_10.tif', 
'IMG_0023_840_20.tif', 'IMG_0024_475_30.tif', 
'IMG_0024_550_20.tif', 'IMG_0024_670_30.tif', 
'IMG_0024_715_10.tif', 'IMG_0024_840_20.tif', 
'IMG_0025_475_30.tif', 'IMG_0025_550_20.tif', 
'IMG_0025_670_30.tif', 'IMG_0025_715_10.tif', 
'IMG_0025_840_20.tif', 'IMG_0026_475_30.tif', 
'IMG_0026_550_20.tif', 'IMG_0026_670_30.tif', 
'IMG_0026_715_10.tif', 'IMG_0026_840_20.tif']

for i in range(0, len(arr), 5):
    print(arr[i:i + 5])

вывод:

['IMG_0023_475_30.tif', 'IMG_0023_550_20.tif', 'IMG_0023_670_30.tif', 'IMG_0023_715_10.tif', 'IMG_0023_840_20.tif']

['IMG_0024_475_30.tif', 'IMG_0024_550_20.tif', 'IMG_0024_670_30.tif', 'IMG_0024_715_10.tif', 'IMG_0024_840_20.tif']

['IMG_0025_475_30.tif', 'IMG_0025_550_20.tif', 'IMG_0025_670_30.tif', 'IMG_0025_715_10.tif', 'IMG_0025_840_20.tif']

['IMG_0026_475_30.tif', 'IMG_0026_550_20.tif', 'IMG_0026_670_30.tif', 'IMG_0026_715_10.tif', 'IMG_0026_840_20.tif']
→ Ссылка