520

「添字可能」のドメインに分類されるオブジェクトのタイプはどれですか?

4

6 に答える 6

490

これは基本的に、オブジェクトが__getitem__()メソッドを実装することを意味します。つまり、「コンテナ」であるオブジェクトを記述します。つまり、他のオブジェクトが含まれていることを意味します。これには、文字列、リスト、タプル、および辞書が含まれます。

于 2008-10-19T21:11:05.607 に答える
92

私の頭の中で、添え字付け可能な組み込み関数は次のとおりです。

string:  "foobar"[3] == "b"
tuple:   (1,2,3,4)[3] == 4
list:    [1,2,3,4][3] == 4
dict:    {"a":1, "b":2, "c":3}["c"] == 3

しかし、ミパディの答えは正しいです-実装するクラスはすべて__getitem__添字可能です

于 2008-10-19T22:39:47.220 に答える
19

スクリプト可能オブジェクトは、実行された操作を記録するオブジェクトであり、再生可能な「スクリプト」として保存できます。

たとえば、次を参照してください:アプリケーション スクリプト フレームワーク

さて、アリステアが彼が尋ねたことを知らず、本当に「添字可能な」オブジェクトを意味していた場合(他の人が編集したように)、(ミパディも答えたように)これが正しいものです:

__getitem__添字可能なオブジェクトは、特別なメソッド (リスト、辞書など)を実装する任意のオブジェクトです。

于 2008-10-19T22:05:30.393 に答える
9

これと同じ問題がありました。やっていた

arr = []
arr.append["HI"]

そのため、使用する[とエラーが発生しました。そのはずarr.append("HI")

于 2016-11-23T13:02:35.987 に答える