作者: Fe2+
日時: 2002/5/15(01:03)
Fe2+ です。


結構前の話題になってしまいましたが、TSabc の方で
文字列でリストを join するのは美しくないという話がありました。
ということで、join を逆にリストのメソッドに、
といっても直接はできないので
サブクラスを定義してメソッドを付け加えます。
# タイプからサブクラスを作れるのは 2.2 以降かな
# じつは初めてやってみた。

class ListWithJoin(list):
    def join(self,sep=" "):
        return sep.join(self)

と定義して、

>>> ListWithJoin([str(i) for i in range(8)]).join(",")
'0,1,2,3,4,5,6,7'

てな感じになります。使ってみる気になります?


それから上でも使っていますが、
[str(i) for i in range(8)] といった表現、
これが案外解り難いようですが、
集合の定義みたいに思えば覚え易いのではないでしょうか。つまり、
{ str(i) | i ∈ range(8) } の
 | を for 、∈ を in と読めば、そのままです。
# 集合の定義の方が馴染みが薄いって

--
MATSUI Fe2+ Tetsushi
 mailto:VED03370@...
 http://member.nifty.ne.jp/Fe/