Kdbplus-q-language-indexing
Q言語-インデックス作成
リストは、そのアイテムの位置によって左から右に並べられます。 リストの先頭からのアイテムのオフセットは、インデックス*と呼ばれます。 したがって、最初のアイテムにはインデックス0があり、2番目のアイテム(ある場合)にはインデックス1があります。 カウント *n のリストには、 0 から n–1 までのインデックスドメインがあります。
インデックス表記
リスト L を指定すると、インデックス i のアイテムは L [i] によってアクセスされます。 インデックスでアイテムを取得することを*アイテムインデックス作成*と呼びます。 例えば、
インデックス付き割り当て
リスト内のアイテムは、アイテムのインデックス作成によって割り当てることもできます。 したがって、
変数からのリスト
参加リスト
2つのリストで最も一般的な操作は、それらを結合してより大きなリストを作成することです。 より正確には、結合演算子(、)は、右のオペランドを左のオペランドの最後に追加し、結果を返します。 いずれかの引数でアトムを受け入れます。
ネスティング
データの複雑さは、リストをリストのアイテムとして使用して構築されます。
深さ
リストのネストのレベル数は、その深さと呼ばれます。 原子の深さは0で、単純リストの深さは1です。
これは2つの項目を持つ深さ3のリストです-
深さでのインデックス作成
ネストされたリストのアイテムに直接インデックスを付けることができます。
繰り返しアイテムのインデックス作成
単一のインデックスを介してアイテムを取得すると、常にネストされたリストから最上位のアイテムが取得されます。
結果 L [1] はそれ自体がリストであるため、単一のインデックスを使用してその要素を取得できます。
単一のインデックス作成をもう一度繰り返して、最も内側のネストされたリストからアイテムを取得できます。
これを読むことができます、
_Lからインデックス1のアイテムを取得し、インデックス2のアイテムを取得し、インデックス0のアイテムを取得します。
深さでのインデックスの表記
ネストされたリストの構成要素に繰り返しインデックスを付けるための代替表記法があります。 最後の取得は、次のように書くこともできます。
インデックスを介した割り当ても詳細に機能します。
除外インデックス
一般リストの指標の除外
- L [; 1;]を次のように解釈*
最上位の各リストの2番目の位置にあるすべてのアイテムを取得します。
- L [;; 2]を次のように解釈*
2番目のレベルの各リストの3番目の位置にあるアイテムを取得します。