If you want a to represent the string as a circular array, and if you want to slice parts OUT of the string, you will want to convert it to something else first, as Python strings are immutable. Collections.deque is going to be a bit more efficient than a list:
from collections import deque
foo = deque('123456789')
result = str(foo.pop() + foo.popleft() # result then is == '91' and
# str(''.join(foo)) == '2345678'
If you just want to cycle over the array looking for a substring (i.e. holding the position steady while spinning the array, if that's what you mean) you can do something like this without altering the array:
foo = deque('123456789')
for x in range(len(foo)): #have to use range here (mutation during iteration)
print(str(''.join(foo[-1] + foo[0])))
foo.rotate(1)
This results in 91 89 78 67 56 45 23 12