《23》添字付け:メソッド __getitem__〈Python 2.x 版〉
実録:はじめてのプログラミング《記事一覧》
《23》添字付け:メソッド __getitem__
《著》小粒ちゃん+α《監修》小泉ひよ子とタマゴ倶楽部
2009年2月13日(金)
関連記事
今日の進捗
Comment | |
---|---|
本人:野中 | 連結リストを自分で作成してみるとやっぱり組み込みのlistってよくできてると思いました。 |
担当:伊藤/本間 | 。(^^) |
添字付け:メソッド __getitem__
組み込み型 list と同様に、添字を利用して各要素を参照できると便利です。そこで、
def ex(): s = myList("ABC") print s,"\t#",s.__class__.__name__ for e in s: # case1 print e for i,e in enumerate(s): # case2 print "%d: %s"%(i, s[i]) >>> ex() ['A', 'B', 'C'] # myList A B C 0: A 1: B 2: C
各要素を参照するには、添字(整数)が必要です。そのため(case1)単純な for 文と違って(case2)組み込み関数 enumerate を利用するなど、冗長な表現になります。
class myList(object): ... def __getitem__(self, key): for i,e in enumerate(self): if i==key: return e
メソッド __getitem__ は、演算子 [] に呼応して、添字を利用してシーケンス内の要素を得る手段を提供します。for に続く制御変数 i が、指定した引数 key と同じ値になるとき、その要素 e をリターン値にします。
Tips
Last updated♪09/03/12