У меня есть список значений и функция, которая принимает n>1 аргумент. Значения в списке находятся в порядке (очевидно), и мне приходится перебирать список, чтобы проверить все возможные последовательности значений.
Приведенный ниже код работает хорошо, но не выглядит питоническим для мне (мне особенно не нравится конструкция «для меня в пределах досягаемости»). Есть ли более элегантный и, возможно, эффективный способ добиться того же?
# function that takes 3 arguments
def foo(a, b, c):
print(a, b, c)
# for this particular list (1,2,3), (2,3,4), (3,4,5)
# are triplets that should be analyzed by foo function
L = [1, 2, 3, 4, 5]
for i in range(len(L) - 2):
foo(*L[i:i + 3])
Результат:
1 2 3
2 3 4
3 4 5
Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-python