Отбрасывание хвостов может быть организовано автоматически, благодаря свойствам zipping ,
import Data.List (tails)
g :: Int -> [a] -> [[a]]
g n = foldr (zipWith (:)) (repeat []) . take n . tails
, или просто transpose . take n . tails
. Тестирование:
Prelude Data.List> g 3 [1..10] [[1,2,3], [2,3,4], [3,4,5], [4,5,6], [5,6,7], [6,7,8], [7,8,9], [8,9,10]] Prelude Data.List> транспонировать. возьмите 3. хвосты $ [1..10] [[1,2,3], [2,3,4], [3,4,5], [4,5,6], [5,6,7], [ 6,7,8], [7,8,9], [8,9,10], [9,10], [10]]
blockquote>
Просто для того, чтобы ответить на мой собственный вопрос на тот случай, если кому-то еще это понадобится, как я уже читал, вы не можете сделать это с помощью одного или двух различных вызовов API. для следующего решения я создал несколько запросов REST API к TFS и вызвал / обработал их с Python> 3.
Что я сделал, чтобы обновить тестовый пример, если он существует, или создать новый, если его нет:
Я знаю, что это не самое быстрое решение, но, по крайней мере, оно работает! Если есть другой способ, который проще и быстрее, я более чем счастлив следовать ему.