アルファベットの循環表示

30分プログラム、その428。ネタに困ったので、ソーシャル・ネットワーキング サービス [mixi(ミクシィ)](mixi)C/C++の課題丸投げコミュの問題でも解く。

http://mixi.jp/view_bbs.pl?id=37502259&comm_id=602606

度々失礼します
どのようにすれば、こんな感じの表示になるのかがわかりません
以下の結果を表示するプログラムを作成する。

abcdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyza
cdefghijklmnopqrstuvwxyzab
defghijklmnopqrstuvwxyzabc
・・・・・・・・・・・・・・・・・・・・・・・・・・
wxyzabcdefghijklmnopqrstuv
xyzabcdefghijklmnopqrstuvw
yzabcdefghijklmnopqrstuvwx
zabcdefghijklmnopqrstuvwxy
abcdefghijklmnopqrstuvwxyz

わかる方、よろしくお願いします。

こういう問題は循環リストを使いたいなー、と思って調べてみたけど、Pythonで実現する方法がよく分からなかった。無理なのかもしんない。

使い方

$ python alpha-rot.py
abcdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyza
...
zabcdefghijklmnopqrstuvwxy
abcdefghijklmnopqrstuvwxyz

ソースコード

#! /usr/bin/python
# -*- mode:python; coding:utf-8 -*-
#

alpha = map(chr,range(ord('a'),ord('z')+1))
alpha.extend(alpha)

for n in xrange(0,27):
    print ''.join(alpha[n:n+26])