##
2 添字表記 (subscription)

添字表記は、シーケンス (文字列、タプルまたはリスト) やマップ (辞書) オブジェクトから、要素を一つ選択します:

  subscription | ::= | primary "[" expression_list "]"

  Download entire grammar as text.

一次語の値評価結果は、シーケンス型かマップ型のオブジェクトでなければなりません。

一次語がマップであれば、式リストの値評価結果はマップ内のいずれかの キー値に相当するオブジェクトにならなければなりません。添字表記は、 そのキーに対応するマップ内の値 (value) を選択します。 (式リストの要素が単独である場合を除き、式リストはタプルでなければ なりません。)

一次語がシーケンスの場合、式 (リスト) の値評価結果は (通常の) 整数でなければ なりません。値が負の場合、シーケンスの長さが加算されます (`x[-1]` が`x` の最後の要素を指すことになります)。 加算結果はシーケンス内の要素数よりも小さな非負の整数とならなければなりません。 添字表記は、添字と同じシーケンス中の (ゼロから数えた) インデクスを持つ要素を 選択します。

文字列型の要素は文字 (character) です。文字は個別の型ではなく、 1 文字だけからなる文字列です。