作者: 機械伯爵
日時: 2002/5/4(01:18)
 ども、機械です。

>また例のごとく、betterな別解がございましたらよろしくです。

 ベターかどうかわかんないけど、多分コードの量は少ないです。

#--^ index2.py
#!/usr/bin/env python
# PEPの文字列の拡張メソッドを使用していますので、
# splitメソッドが動かない場合は、string.split(str)を
# 利用してください。

from sys import argv
import sys
file = open(argv[1],"r")
f_list = file.readlines() # 全行をリストに読み込む大技
dict = {}
for i in f_list:
  i = i.split()           # ここが動かなければ、string.split(i)
  page = i[0]             # ←注意
  name = i[1]             #
  if dict.has_key(name):
    dict[name] = dict[name] + "," + page
  else :
    dict[name] = page
# print文の書き方は、AWKの連結書式風
for name in dict:
  print "%-20s" % name , " ... " , dict[name]
#--$

実は、「←注意」の前後3行は・・・

page , name = i.split()

と、まとめたかったのですが、なぜか何度やってもエラーが出ます。
ちなみに、インデックス名がアスキー文字なら通るので、
日本語化したPython2.2の不具合かしらん、とも思ったりしますが・・・

◆動作確認パッケージ python-2.2-sjis-20020228.zip
◆動作確認OS     Windows2000

   機械伯爵