機械伯爵です。
>「page , name = i.split()[:2]」とやるとうまくいったりしませんか?
おっけーでした☆
う〜ん、そーいやスライスは考えてなかったなぁ(笑)
確かに、2項限定にしてやると、エラーは出ませんね。
ありがとう、ございました。
しっかし・・・
なぜエラーでるんでしょうねぇ・・・
一応、途中経過をプリントアウトして見ましたが、分割した段階でページと名前の
2項リストにちゃんとなってるんですよね。
んでもって、ASCIIだとうまくいくのも変だし・・・
ひょっとして・・・
・・・わはは、ようやく気が付きました。
リストの中の「正規表現 演算子」が、3項として引っかかってたんですね。
んでわ、ちと改造をば・・・
--^ index2b.py
#!/usr/bin/env python
import sys,string
file = open(sys.argv[1],"r")
f_list = file.readlines()
tbl = {}
for i in f_list:
i = i.split() # ここが動かなければ、string.split(i)
if i.__len__() > 2: # インデックスに空白を含む場合、再連結
i[1]=string.join(i[1:])
i=i[:2] # 余分な項目を取り去って、2項目に・・・
page , name = i
if tbl.has_key(name):
tbl[name] = tbl[name] + "," + page
else :
tbl[name] = page
for name in tbl:
print "%-20s" % name , " ... " , tbl[name]
#--$
う〜ん、コンセプトだけみて、オリジナルのAWKのコードを見ないで作った
のがまずかった(汗)
※name=substr($0, index($0,$2))の意味が、最初良くわからなかった・・・
こういう、抜き出し作業はAWKの独擅場だと思ったけど、こうやってみると、
スライスなんかも結構使えるので、ICONとかでも便利かもしれませんね。
と、思って、某所(笑)に貯蔵の風使いさんのICON入門の打ち出しを片手に
書き出したのですが・・・う〜ん、結構クセの強い言語みたいなんで、ぱらぱら
と見て書くのはちょっと無理かな・・・
※forメンバーテストに相当するのがevery・・・いや、なんか微妙に違うなぁ・・
誰かICONのコード書ける方、代わりに書いてください(爆)
機械伯爵