У меня есть Python script, который принимает в качестве входного списка целые числа, которые мне нужно работать с четырьмя целыми за раз. К сожалению, у меня нет контроля над входом, иначе я бы прошел в виде списка четырехэлементных кортежей. В настоящее время я повторяю это следующим образом:
for i in xrange(0, len(ints), 4):
# dummy op for example code
foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3]
Он очень похож на "C-think", что заставляет меня подозревать, что существует более питонический способ справиться с этой ситуацией. Список отбрасывается после итерации, поэтому его не нужно сохранять. Возможно, что-то вроде этого было бы лучше?
while ints:
foo += ints[0] * ints[1] + ints[2] * ints[3]
ints[0:4] = []
Тем не менее, он не совсем "чувствует" право.: -/
Связанный вопрос: Как вы разбиваете список на куски равномерного размера в Python?