Fe2+ です。
ちょっとした改造を思い付きました。
> try:
> tbl[name] = tbl[name] + page + ','
> except KeyError,err:
> tbl[name] = page + ','
をこうします。
tbl[name] = tbl.get(name,[]) + [page]
そして
> print '%-20s... %s'%(i,tbl[i][:-1])
をこうします。
print '%-20s... %s'%(i,",".join(tbl[i]))
あるいは最初に from string import join しておいてこう(1.5 対応)。
print '%-20s... %s'%(i,join(tbl[i],","))
(解説)
辞書型の get メソッドは今の例でいうと、tbl.has_key(name) ならば
tbl[name] を返しそうでなければ指定された既定値(今回は [])を返します。
文字列の join メソッド(あるいは string モジュールの join メソッド)は、
文字列のリストやタプルを区切り文字(列)で連結した文字列を返します。
ということで、リストにため込んで最後に整形する感じになります。
',' の付け方で苦労されているようでしたので、こういうのもあるよというだ
けです。効率は却って低下しているかも。
--
MATSUI Fe2+ Tetsushi
mailto:VED03370@...
http://member.nifty.ne.jp/Fe/