ども、機械です。
>また例のごとく、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
機械伯爵