next up previous contents index
: 連想リスト : リスト : リストの基本関数   目次   索引

リスト処理関数

(list 〈データ$_1$$\cdots$〈データ$_n$〉) 【関数】

引数のリスト

(〈データ$_1$$\cdots$〈データ$_n$〉)

を返す.

例:

(list) $\Rightarrow$ ()
(list 1) $\Rightarrow$ (1)
(list 1 2) $\Rightarrow$ (1 2)

(list* 〈データ$_0$$\cdots$〈データ$_{n-1}$〉〈データ$_n$〉) 【関数】

引数は$1$つ以上必要で,最後の〈データ$_n$〉に, 〈データ$_{n-1}$〉〜〈データ$_0$〉を順に consした
(〈データ$_0$$\cdots$〈データ$_{n-1}$〉.〈データ$_n$〉)

を返す. 引数が$1$つの場合は,その引数をそのまま返す.

例:

(list* 1) $\Rightarrow$ 1
(list* 1 2) $\Rightarrow$ (1 . 2)
(list* 1 2 3) $\Rightarrow$ (1 2 . 3)

(list-ref 〈リスト〉〈インデックス〉) 【関数】

〈リスト〉 の $\mbox{〈インデックス〉} + 1$番目の要素を返す. 〈インデックス〉 は 〈リスト〉 の長さ 未満の非負整数でなければならない.

例:
(list-ref '(a b c d) 2) $\Rightarrow$ c
(nth 〈インデックス〉〈リスト〉) 【関数】
〈インデックス〉が〈リスト〉の長さより小さければ 〈リスト〉 の $\mbox{〈インデックス〉} + 1$番目の要素を返す. そうでなければ空リストを返す. 〈インデックス〉 は 非負整数でなければならない.
(list-tail 〈リスト〉〈インデックス〉) 【関数】
〈リスト〉 の $\mbox{〈インデックス〉} + 1$番目の要素以降のリストを返す. 〈インデックス〉 は 〈リスト〉 の長さ 未満の非負整数でなければならない.

例:
(list-tail '(a b c d) 2) $\Rightarrow$ (c d)
(nthcdr 〈インデックス〉〈リスト〉) 【関数】
〈インデックス〉が〈リスト〉の長さより小さければ 〈リスト〉 の $\mbox{〈インデックス〉} + 1$番目の要素以降のリス トを返す. そうでなければ空リストを返す. 〈インデックス〉 は 非負整数でなければならない.
(last 〈リスト〉) 【関数】
〈リスト〉を構成する最後のコンスを返す. 引数が空リストならば空リストを返す.
(length 〈リスト〉) 【関数】

〈リスト〉の要素の数を返す.

例:
(length '(a b c d e)) $\Rightarrow$ 5
(length '(a (b) (c d e)) $\Rightarrow$ 3
(length '()) $\Rightarrow$ 0

(append 〈リスト$_1$$\cdots$〈リスト$_n$〉〈データ〉) 【関数】

最後の 〈データ〉 (これは任意のデータでよい)に, 〈リスト$_n$〉〜〈リスト$_1$〉を順に consした結果を返す. 最後の 〈データ〉 がリストであれば, 引数の各リストをつないだ新しいリストを返すことになる. 〈データ〉がリスト以外の場合は,ドット・リストを返すことになる. 特別な場合として,無引数で呼び出された場合は ()を返す.

例:
(append) $\Rightarrow$ ()
(append '(a b) '(c d) '(e f))
$\Rightarrow$ (a b c d e f)
(append '(a b) '(c d) 'e)
$\Rightarrow$ (a b c d . e)
(append '(a b) '() '(c d))
$\Rightarrow$ (a b c d)

(nconc 〈リスト$_1$$\cdots$〈リスト$_n$〉〈データ〉) 【関数】

それぞれのリストの一番最後のコンスのcdr部に次のリストを入れることによっ て,リストを直接つなぎ,変更された〈リスト$_1$〉を返す.〈リスト$_n$〉の一番最後のコンスのcdr部には,〈データ〉 (こ れは任意のデータでよい)を入れる. 特別な場合として,無引数で呼び出された場合は ()を返す.
(reverse 〈リスト〉) 【関数】

〈リスト〉 の要素の順序を逆にしたリストを返す.

(reverse '(a b c d e))
$\Rightarrow$ (e d c b a)
(reverse '(a (b c) d (e (f))))
$\Rightarrow$ ((e (f)) d (b c) a)

(nreverse 〈リスト〉) 【関数】

〈リスト〉 の要素の順序を破壊的に逆にして返す.

next up previous contents index
: 連想リスト : リスト : リストの基本関数   目次   索引
Tsuneyasu KOMIYA 平成14年2月22日