The reasons why you code doesn't work are very well explained in the other answers.
I want to point one more thing.
Insertions at the beginning of the list are quite costly. You use them here
Number.insert(0,...) They have
O(n) complexity (appendings are actually
Bellow I'll show another way to do the same thing using iterators which just loop over the list with some shifts:
from itertools import cycle, islice
ln = len(L)
it = cycle(iter(L)) #create an overall iterator
for _ in range(ln): #there are len(L) output lists
yield list(islice(it,3)) #slice next 3 elements, for a list and yield the rusult
it.next() #skip one element to start a new list shifted by one
rotate is a generator which is used to create an iterator which will yield the needed lists.
islice is from here.
Example of usage:
for el in rotate(Number):
['1', '9', '7']
['9', '7', '1']
['7', '1', '9']
Or just using list constructor:
[['1', '9', '7'], ['9', '7', '1'], ['7', '1', '9']]