>>> stuff = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
>>> n=len(stuff)
>>>
>>> [(stuff+stuff[:n/2-1])[i:i+n/2] for i in range(n)]
[[1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6], [4, 5, 6, 7], [5, 6, 7, 8], [6, 7, 8, 9], [7, 8, 9, 1], [8, 9, 1, 2], [9, 1, 2, 3]]
>>>
Примечание : приведенный выше код основан на предположении из вашего примера
[1, 2, 3, 4], [2, 3, 4, 5], ..., [9, 1, 2, 3]
Если вам действительно нужны все возможные значения, вам нужно использовать itertools.permutations или комбинацию, как предлагали другие.