Задать вопрос
@sharkyyy3

Как реализовать умный перебор по списку?

В общем существует список my_list = [123, 55, 656, 987,498...]
Список изменяемый и каждый раз различное количество элементов, но больше ста. И каждый раз список содержит n количество элементов.
Мне нужно пройти список циклом, частями, т.е сначала 100, потом следующая итерация 100 элементов, а далее остаток.
Как это можно реализовать?
  • Вопрос задан
  • 232 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
adugin
@adugin Куратор тега Python
>>> lst = list(range(10))
>>> lst
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(zip(*[iter(lst)]*3))
[(0, 1, 2), (3, 4, 5), (6, 7, 8)]
>>> list(zip(*[iter(lst)]*2))
[(0, 1), (2, 3), (4, 5), (6, 7), (8, 9)]
>>> from itertools import zip_longest
>>> list(zip_longest(*[iter(lst)]*3, fillvalue=None))
[(0, 1, 2), (3, 4, 5), (6, 7, 8), (9, None, None)]

import numpy as np
np.array_split(lst, 3)
Ответ написан
Комментировать
ScriptKiddo
@ScriptKiddo
items_list = [123, 55, 656, 987, 498]
chunk_len = 2
chunks = [items_list[x:x + chunk_len] for x in range(0, len(items_list), chunk_len)]


Output

[[123, 55], [656, 987], [498]]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы